给定字符串 s 和 t ,判断 s 是否为 t 的子序列。
字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。
思路: 使用双指针,比较指针对应位置是否相同,相同则同时移动,不同则父序列移动,最后判断子序列是否执行完。
public boolean isSubsequence(String s, String t) {
//"ace"是"abcde"的一个子序列,而"aec"不是
int i1=0;
int i2=0;
int l1=s.length();
int l2 = t.length();
while(i1<l1 && i2<l2){
if(s.charAt(i1)==t.charAt(i2)){
i1++;
}
i2++;
}
return i1==l1;
}