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)

相关推荐
sin_hielo14 小时前
leetcode 955
数据结构·算法·leetcode
TechNomad14 小时前
二分搜索算法的介绍和使用
算法
一起养小猫14 小时前
LeetCode100天Day4-盛最多水的容器与两数之和II
java·数据结构·算法·leetcode
xie_pin_an15 小时前
深入解析 C 语言排序算法:从快排优化到外排序实现
c语言·算法·排序算法
Hcoco_me15 小时前
机器学习核心概念与主流算法(通俗详细版)
人工智能·算法·机器学习·数据挖掘·聚类
Hcoco_me15 小时前
嵌入式场景算法轻量化部署checklist
算法
咸鱼加辣15 小时前
【python面试】Python 的 lambda
javascript·python·算法
Jerryhut15 小时前
sklearn函数总结十二 —— 聚类分析算法K-Means
算法·kmeans·sklearn
Swift社区15 小时前
LeetCode 453 - 最小操作次数使数组元素相等
算法·leetcode·职场和发展
hoiii18715 小时前
LR算法辅助的MIMO系统Zero Forcing检测
算法