1. 程式人生 > 其它 >Leetcode 392:判斷子序列

Leetcode 392:判斷子序列

題目描述:

給定字串 s 和 t ,判斷 s 是否為 t 的子序列。
字串的一個子序列是原始字串刪除一些(也可以不刪除)字元而不改變剩餘字元相對位置形成的新字串。(例如,"ace"是"abcde"的一個子序列,而"aec"不是)。
示例 1:
輸入:s = "abc", t = "ahbgdc"
輸出:true
示例 2:
輸入:s = "axc", t = "ahbgdc"
輸出:false

思路:
對s進行遍歷,在t中查詢該字元是否出現

程式碼:

class Solution {
    public boolean isSubsequence(String s, String t) {
        int index=-1;
        for(char ch:s.toCharArray()){
            index=t.indexOf(ch,index+1);
            if(index==-1){
                return false;
            }
        }
        return true;
    }
}

PS:
Java字串可以利用string.toCharArray()變成字元陣列
Java字串可以利用string.indexOf(String/char str/ch,int start):從start位置開始,查詢str/ch第一次出現的位置,返回陣列下標或-1.