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)

相关推荐
weixin_3077791313 分钟前
C++代码实现MATLAB中的ode45函数功能
开发语言·c++·算法·matlab
流浪00137 分钟前
Linux系统篇34——信号(六):信号处理期间又来了怎么办?——sigaction、sa_mask、可重入函数与 volatile
linux·运维·面试·操作系统·信号处理·信号
不穿鞋的懒羊羊38 分钟前
dfs深度优先搜索
算法
OYYHXPJR1 小时前
【算法】区间重叠模板和矩形重叠模板
算法
shehuiyuelaiyuehao1 小时前
算法46,分治快排,排序数组
java·算法·排序算法·排序
圣保罗的大教堂1 小时前
leetcode 3483. 不同三位偶数的数目 简单
leetcode
远航计算机1 小时前
GEO 选题从哪来?用一份 Query 词库把一年内容排出来
大数据·人工智能·算法·aigc
宣宣猪的小花园.1 小时前
【机器学习】神经网络与表征:为什么深度学习能自动提取特征
人工智能·嵌入式硬件·算法·机器学习
ssshooter1 小时前
Node.js 天生就是异步的,为什么还要消息队列?
javascript·后端·面试
mmmmath_32 小时前
LeetCode.018.四数之和
数据结构·算法·leetcode