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)

相关推荐
敲代码的嘎仔3 分钟前
Java后端开发——多线程面试题
java·开发语言·面试·多线程·八股·threadlocal·
sonnet-10293 分钟前
交换排序算法
java·c语言·开发语言·数据结构·笔记·算法·排序算法
穿条秋裤到处跑7 分钟前
每日一道leetcode(2026.03.27):循环移位后的矩阵相似检查
算法·leetcode·矩阵
Cathy Bryant8 分钟前
拓扑学-毛球定理
笔记·线性代数·算法·矩阵·拓扑学·高等数学
2301_788770559 分钟前
模拟OJ3
数据结构·算法
靠沿10 分钟前
【递归、搜索与回溯算法】专题二——二叉树的dfs
算法·深度优先
美式请加冰17 分钟前
BFS算法的介绍和使用(上)
算法·宽度优先
sonnet-102922 分钟前
堆排序算法
java·c语言·开发语言·数据结构·python·算法·排序算法
我是咸鱼不闲呀23 分钟前
力扣Hot100系列24(Java)——[回溯]总结(下)(括号生成,单词搜索,分割回文串)
java·算法·leetcode
tankeven24 分钟前
HJ150 全排列
c++·算法