题意:
给定一个很长的串t,和一个很短的串s,判断s是否是t的顺序子串,顺序子串的意思是子串的所有字母相对的顺序出现在串中(中间可能有其它字母)。
分析:
我们很自然的就想到,我们要在长串中找子串的字母,当匹配上(搜索到了)子串的第一个字母了才继续搜索子串的第二个字母...
最后看是否全部找到。
public class Solution {
public boolean isSubsequence(String s, String t) {
if (s.length() == 0) return true;
char[] sr = s.toCharArray();
char[] tr = t.toCharArray();
int j = 0;
for(int i=0; i<tr.length; i++){
if(j<sr.length && sr[j] == tr[i]){ //找到了前一个,才找子串的后一个字母
j++;
}
if(j == sr.length){
return true;
}
}
return false;
}
}
转载请注明原文地址: https://ju.6miu.com/read-658742.html