【Leetcode392】Is Subsequence

如果用递归或许可以解决,但是,100也不是个小数字。考虑使用双指针,一次循环来解决: 

class Solution {
public:
    bool isSubsequence(string s, string t) {
        for(size_t i = 0, j = 0; i < s.length(); ++i, ++j){
            while(t[j] != s[i] && j < t.length()){
                ++j;
            }
            if(j == t.length())
                return false;
        }
        return true;
    }
};

特别注意双指针的移动,第一次submit的错误出现在i++的时候,没有进行j++,那么在leetcode可以找出来子串leeeeeetcode,因为e会判断多次。

上一篇:Leetcode392.判断子序列


下一篇:Leetcode392. 判断子序列(C语言)