【leetcode面试经典150题】26.判断子序列(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主,题解使用C++语言。(若有使用其他语言的同学也可了解题解思路,本质上语法内容一致)

【题目描述】

给定字符串 s 和 t ,判断 s 是否为 t 的子序列。

字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace""abcde"的一个子序列,而"aec"不是)。

【示例一】

输入:s = "abc", t = "ahbgdc"
输出:true

【示例二】

输入:s = "axc", t = "ahbgdc"
输出:false

【提示及数据范围】

  • 0 <= s.length <= 100
  • 0 <= t.length <= 10的4次方
  • 两个字符串都只由小写字符组成。

【代码】

// 方法一:双指针

class Solution {
public:
    bool isSubsequence(string s, string t) {
        int n = s.length(), m = t.length();
        int i = 0, j = 0;
        while (i < n && j < m) {
            if (s[i] == t[j]) {
                i++;
            }
            j++;
        }
        return i == n;
    }
};


// 方法二:队列

class Solution {
public:
    bool isSubsequence(string s, string t) {
        queue<char> q;
        for(auto& c : s){
            q.push(c);
        }
        for(auto& c : t){
            if(c == q.front()) q.pop();
        }
        return q.empty();
    }
};

相关推荐

  1. leetcode面试经典15026.判断序列C++)

    2024-04-10 11:44:02       40 阅读
  2. 面试经典150——判断序列

    2024-04-10 11:44:02       29 阅读
  3. 面试经典150】【双指针】392. 判断序列

    2024-04-10 11:44:02       33 阅读
  4. leetcode面试经典15029.三数之和(C++)

    2024-04-10 11:44:02       39 阅读
  5. leetcode面试经典150】47. 最长连续序列C++)

    2024-04-10 11:44:02       30 阅读
  6. 面试经典150(21-26)

    2024-04-10 11:44:02       64 阅读
  7. leetcode面试经典15010.跳跃游戏 II(C++)

    2024-04-10 11:44:02       41 阅读
  8. Leetcode面试经典150

    2024-04-10 11:44:02       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-10 11:44:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-10 11:44:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-10 11:44:02       82 阅读
  4. Python语言-面向对象

    2024-04-10 11:44:02       91 阅读

热门阅读

  1. 【C语言】数组越界

    2024-04-10 11:44:02       34 阅读
  2. c#防呆设计

    2024-04-10 11:44:02       37 阅读
  3. uniapp_微信小程序_NaN

    2024-04-10 11:44:02       35 阅读
  4. python中tkinter窗口内替换鼠标图标

    2024-04-10 11:44:02       34 阅读
  5. 【linux】cp命令介绍以及使用范例

    2024-04-10 11:44:02       34 阅读
  6. python——运算符

    2024-04-10 11:44:02       32 阅读