leetcode刷题65.判断子序列 ——Java版

Posted 一条coding

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode刷题65.判断子序列 ——Java版相关的知识,希望对你有一定的参考价值。

⭐欢迎订阅《leetcode》专栏,每日一题,每天进步⭐

面对简单题,我重拳出击,架起意大利炮

——leetcode此题热评

前言

哈喽,大家好,我是一条。

糊涂算法,难得糊涂

点击跳转到《糊涂算法》专栏学习java大厂面试必备数据结构和算法知识!

Question

392. 判断子序列

难度:简单

给定字符串 s 和 t ,判断 s 是否为 t 的子序列。

字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。

示例 1:

输入:s = "abc", t = "ahbgdc"
输出:true

示例 2:

输入:s = "axc", t = "ahbgdc"
输出:false

Solution

看着是DP的标签,结果双指针就可以解决

  • 两个指针,对应两个字符串
  • 找到一个对应的+1
  • 当t已经走到末尾,s如果还没到,返回false

Code

所有leetcode代码已同步至github

欢迎star

/**
 * @author 一条coding
 */
class Solution {
    public boolean isSubsequence(String s, String t) {
        int n = s.length(), m = t.length();
        int i = 0, j = 0;
        while (i < n && j < m) {
            if (s.charAt(i) == t.charAt(j)) {
                i++;
            }
            j++;
        }
        return i == n;
    }
}

Result

复杂度分析

  • 时间复杂度:O(n)

🌈寻宝

⭐今天是坚持刷题更文的第65/100天

⭐各位的点赞、关注、收藏、评论、订阅就是一条创作的最大动力

⭐更多数据结构和算法讲解欢迎关注专栏《糊涂算法》

为了回馈各位粉丝,礼尚往来,给大家准备了一些算法教学视频和电子书

需要的小伙伴可以点「下方卡片👇👇👇关注后回复「算法」领取

以上是关于leetcode刷题65.判断子序列 ——Java版的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode刷题Python300. 最长递增子序列

Leetcode刷题Python1143. 最长公共子序列

Leetcode刷题Python516. 最长回文子序列

(Java) LeetCode 392. Is Subsequence —— 判断子序列

LeetCode 005 字符串系列

力扣刷题:递增的三元子序列(java实现)