这是我写的一个解法,大概思路是说。首先判断如果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(); }
原文地址:https://www.cnblogs.com/leiroliu/p/11845435.html
时间: 2024-11-04 13:51:32