方法一:双指针
class Solution {
public boolean isSubsequence(String s, String t) {
int si = 0;
int ti = 0;
while (si < s.length() && ti < t.length()) {
if (t.charAt(ti) == s.charAt(si)) {
si ++;
ti ++;
} else {
ti ++;
}
}
return si == s.length(); // 通过索引值判断true/false
}
public static void main(String[] args) {
String s = "axc";
String t = "ahbgdc";
System.out.println(new Solution().isSubsequence(s, t));
}
}
方法二:
class Solution {
public boolean isSubsequence(String s, String t) {
int index = -1;
for(char c: s.toCharArray()){
index = t.indexOf(c,index+1); // 从index+1这个索引值开始往后搜索
if(index == -1)
return false;
}
return true;
}
}