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)

相关推荐
兆子龙几秒前
深入 ahooks 3.0 useRequest 源码:插件化架构的精妙设计
javascript·面试
blackicexs19 分钟前
第四周第四天
数据结构·c++·算法
TracyCoder12321 分钟前
LeetCode Hot100(46/100)——74. 搜索二维矩阵
算法·leetcode·矩阵
foundbug99924 分钟前
果蝇优化算法(FOA)详解:原理、实现与应用
算法
游乐码24 分钟前
c#递归函数
算法·c#
Pluchon24 分钟前
硅基计划4.0 算法 简单实现B树
java·数据结构·b树·算法·链表
im_AMBER34 分钟前
Leetcode 119 二叉树展开为链表 | 路径总和
数据结构·学习·算法·leetcode·二叉树
Eloudy38 分钟前
SuiteSparse 的 README
人工智能·算法·机器学习·hpc
maplewen.1 小时前
C++11 返回值优化
开发语言·c++·面试
苏荷水1 小时前
万字总结LeetCode100(持续更新...)
java·算法·leetcode·职场和发展