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)

相关推荐
monster000w41 分钟前
大模型微调过程
人工智能·深度学习·算法·计算机视觉·信息与通信
小小晓.44 分钟前
Pinely Round 4 (Div. 1 + Div. 2)
c++·算法
SHOJYS44 分钟前
学习离线处理 [CSP-J 2022 山东] 部署
数据结构·c++·学习·算法
biter down1 小时前
c++:两种建堆方式的时间复杂度深度解析
算法
用户47949283569151 小时前
面试官:DNS 解析过程你能说清吗?DNS 解析全流程深度剖析
前端·后端·面试
zhishidi1 小时前
推荐算法优缺点及通俗解读
算法·机器学习·推荐算法
WineMonk1 小时前
WPF 力导引算法实现图布局
算法·wpf
UrbanJazzerati1 小时前
Salesforce Summer '25 新特性:TypeScript 支持和本地开发预览
面试
2401_837088501 小时前
双端队列(Deque)
算法