LeetCode 面试经典150题 392.判断子序列

题目

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

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

思路

代码

java 复制代码
class Solution {
    public boolean isSubsequence(String s, String t) {
        // 判断s是否为t的子序列
        if (s.length() == 0) return true;
        for (int i = 0, j = 0; j < t.length(); j++) {
            if (s.charAt(i) == t.charAt(j)) {
                // 若已经遍历完 s ,则提前返回 true
                if (++i == s.length())
                    return true;
            }
        }    
        return false;
    }
}

性能:时间复杂度O(t) 空间复杂度O(1)

相关推荐
_深海凉_13 小时前
LeetCode热题100-删除链表的倒数第 N 个结点
算法·leetcode·链表
小雅痞13 小时前
[Java][Leetcode middle] 73. 矩阵置零
java·leetcode·矩阵
Yzzz-F13 小时前
Problem - 2043E - Codeforces EDU173
算法
XovH13 小时前
Python 中间件系列:消息队列 RabbitMQ 操作
面试
栈溢出了13 小时前
GraphSAGE 学习笔记
深度学习·神经网络·算法·机器学习
AI科技星13 小时前
全域数学版木牛流马(融合仿生兽+古制复原终版优化方案)【乖乖数学】
人工智能·算法·数学建模·数据挖掘·量子计算
richard_yuu13 小时前
数据结构精讲:图的最短路径与关键路径
数据结构·算法
Kang.lee13 小时前
2026.5.12【芯片设计面试经验分享】上海车载芯片设计公司
经验分享·面试·职场和发展
智者知已应修善业13 小时前
【51单片机一个按键切合初始流水灯按一下对半闪烁按一下显示时间】2023-10-16
c++·经验分享·笔记·算法·51单片机