碰到的一个简单的算法题,关于两个字符串word1和word2,判断word1能不能只通过删除字符就能够得到word1.
Posted leiro
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了碰到的一个简单的算法题,关于两个字符串word1和word2,判断word1能不能只通过删除字符就能够得到word1.相关的知识,希望对你有一定的参考价值。
这是我写的一个解法,大概思路是说。首先判断如果word2的长度大于word1则直接返回false,负责继续执行。
我们判断在word2中的每一个字符在word1中出现的位置,如果刚好符合word1中的全部或者部分字符的组成顺序那么就符合返回true。
具体的代码实现如下:
static boolean isTrans(String word1,String word2){ if(word2==null || word2.length()==0) return true; if(word1 == null || word1.equals("") || word2.length()>word1.length()) return false; char [] chars1 = word1.toCharArray(); char [] chars2 = word2.toCharArray(); int c2Index = 0; for(int i=0;i<chars1.length;i++){ if(chars1[i]==chars2[c2Index]){ c2Index++; if(c2Index>=word2.length()) break; // 这里主要判断如果当这个c2Index已经大于word2.length()的时候就没有必要继续执行了 } } return c2Index == word2.length(); }
以上是关于碰到的一个简单的算法题,关于两个字符串word1和word2,判断word1能不能只通过删除字符就能够得到word1.的主要内容,如果未能解决你的问题,请参考以下文章