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)

相关推荐
想吃火锅10058 分钟前
【leetcode】56.合并区间js
算法·leetcode·职场和发展
imuliuliang10 分钟前
可合并堆在多任务调度中的优势与实现技巧7
算法
学究天人10 分钟前
数学公理体系大全:Comprehensive Collection of Mathematical Axiom Systems(卷6)
网络·算法·数学建模·动态规划·几何学·图论·拓扑学
wabs66617 分钟前
关于动态规划【力扣72.编辑距离的思考】
算法·leetcode·动态规划
用户8524950718417 分钟前
从零搭建自定义 MCP Server:打造你的专属工具服务
面试
黄敬峰20 分钟前
远程 MCP 实战:LangChain 同时接入高德地图、Chrome、文件系统,让 AI Agent 操控真实世界
面试
KaifuZeng27 分钟前
通信与接口协议面试问题汇总三
单片机·嵌入式硬件·面试·通信与接口协议
用户3332397688434 分钟前
我做了一个 RepoMind:让 AI 写架构前,先去看看真实开源项目
算法
chh5631 小时前
C++--list
开发语言·数据结构·c++·学习·算法·list
胡萝卜术1 小时前
从聊天模型到本地执行助手:Remote MCP 多工具 Agent 实战
面试·架构·github