通过万岁!!!
- 题目:给你两个字符串,然后看一下s是不是t的子串。注意,这里的子串的意思就是在t中按照顺序依次挑选字符,使其等于s。
- 思路:两个指针,直接遍历一下。如果s的i位置和t的j位置相同,则i++,j++,否则只有j++。然后如果最后i能到最后,说明可以拼凑成功。这里的最后是i=s的长度。
- 技巧:双指针
java代码
class Solution {
public boolean isSubsequence(String s, String t) {
int sLen = s.length();
int tLen = t.length();
if (sLen > tLen) {
return false;
}
int i = 0, j = 0;
while (i < sLen && j < tLen) {
if (s.charAt(i) == t.charAt(j)) {
++i;
++j;
} else {
j++;
}
}
if (i == sLen) {
return true;
} else {
return false;
}
}
}
- 总结:题目比较简单,这种字符串子串的问题还有好多,包括kmp等。



