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)

相关推荐
Lee川4 分钟前
JavaScript 面向对象编程全景指南:从原始字面量到原型链的终极进化
javascript·面试
千寻girling4 小时前
一份不可多得的 《 Django 》 零基础入门教程
后端·python·面试
SuperEugene4 小时前
Vue生态精选篇:Element Plus 的“企业后台常用组件”用法扫盲
前端·vue.js·面试
千寻girling4 小时前
Python 是用来做 AI 人工智能 的 , 不适合开发 Web 网站 | 《Web框架》
人工智能·后端·算法
Neptune14 小时前
JavaScript回归基本功之---类型判断--typeof篇
前端·javascript·面试
颜酱8 小时前
一步步实现字符串计算器:从「转整数」到「带括号与优化」
javascript·后端·算法
离开地球表面_998 小时前
金三银四程序员跳槽指南:从简历到面试再到 Offer 的全流程准备
前端·后端·面试
UrbanJazzerati8 小时前
Scrapling入门指南:零基础也能学会的网页抓取神器
后端·面试
比尔盖茨的大脑8 小时前
事件循环底层原理:从 V8 引擎到浏览器实现
前端·javascript·面试
Qinana8 小时前
从 URL 输入到页面展示:一场跨越进程与协议的“装修”大戏
前端·面试·程序员