碰到的一個簡單的算法題,關於兩個字符串word1和word2,判斷word1能不能只經過刪除字符就可以獲得word1.

這是我寫的一個解法,大概思路是說。首先判斷若是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();
    }
相關文章
相關標籤/搜索