Leetcode392. 判断子序列

Every day a leetcode

题目来源:392. 判断子序列

解法1:遍历

指针i指向字符串s的开头,指针j指向字符串t的开头。

匹配字符s[i]和t[j],匹配成功则i++,j++;否则j++。

最后判断是否把s遍历完即可。

代码:

/*
 * @lc app=leetcode.cn id=392 lang=cpp
 *
 * [392] 判断子序列
 */

// @lc code=start
class Solution
{
public:
    bool isSubsequence(string s, string t)
    {
        int i = 0, j = 0;
        int m = s.size(), n = t.size();
        while (i < m && j < n)
        {
            if (s[i] == t[j])
            {
                i++;
                j++;
            }
            else
            {
                j++;
            }
        }
        return i == m;
    }
};
// @lc code=end

结果:

Leetcode392. 判断子序列_第1张图片

复杂度分析:

时间复杂度:O(m+n),其中m是字符串s的长度,n是字符串t的长度。

空间复杂度:O(1)。

你可能感兴趣的:(Every,day,a,leetcode,leetcode,算法)