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)

相关推荐
东东的脑洞1 天前
【面试突击】PostgreSQL vs MySQL 索引架构深度对比:聚簇索引 vs 堆表
mysql·postgresql·面试
embrace991 天前
【数据结构学习】数据结构和算法
c语言·数据结构·c++·学习·算法·链表·哈希算法
Baihai_IDP1 天前
靠更换嵌入模型,该产品将 RAG 延迟降低了50%
人工智能·面试·llm
milan-xiao-tiejiang1 天前
ROS2面试准备
c++·面试·自动驾驶
杨恒981 天前
GESPC++三级编程题 知识点
数据结构·c++·算法
koping_wu1 天前
【leetcode】排序数组:快速排序、堆排序、归并排序
java·算法·leetcode
小O的算法实验室1 天前
2025年AEI SCI1区TOP,基于自适应进化算法的城市空中交通多目标枢纽选址,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
历程里程碑1 天前
LeetCode 283:原地移动零的优雅解法
java·c语言·开发语言·数据结构·c++·算法·leetcode
星火飞码iFlyCode1 天前
iFlyCode实践规范驱动开发(SDD):招考平台报名相片质量抽检功能开发实战
java·前端·python·算法·ai编程·科大讯飞
leaves falling1 天前
c语言-根据输入的年份和月份,计算并输出该月份的天数
c语言·开发语言·算法