方法1:双指针遍历
时间复杂度:$O(m + n)$
空间复杂度:$O(1)$
解题思路
见注释。
Java 代码
class Solution {
public boolean isSubsequence(String s, String t) {
if (s.length() > t.length()) return false;
//i遍历s,j遍历t。j不管如何持续遍历
int i = 0;
for (int j = 0; j < t.length(); j ++) {
//须验证长度为0,不然不能用charAt()
if (s.length() != 0 && s.charAt(i) == t.charAt(j)) {
i ++;
if (i == s.length()) return true;
}
}
return i == s.length();
}
}