這是我寫的一個解法,大概思路是說。首先判斷若是word2的長度大於word1則直接返回false,負責繼續執行。spa
咱們判斷在word2中的每個字符在word1中出現的位置,若是恰好符合word1中的所有或者部分字符的組成順序那麼就符合返回true。code
具體的代碼實現以下:blog
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(); }