【LeetCode】392. 判断子序列 - 双指针

这篇具有很好参考价值的文章主要介绍了【LeetCode】392. 判断子序列 - 双指针。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

392. 判断子序列

2023-8-24 18:53:25

class Solution {
    public boolean isSubsequence(String s, String t) {
        int sIndex = 0;
        // 遍历原始字符串
        for (int i = 0; i < t.length(); i++) {
            // 子字符串的下标 已经等于 子字符串的长度
            // 已经遍历完s了,即 's 是 t 的子序列'
            if (sIndex == s.length()  ) {
                return true;
            }
            // 如果s的字符等于t的字符
            if (t.charAt(i) == s.charAt(sIndex)) {
                // 可以去找s的下一个下标
                sIndex++;
            }
        }
        // 已经遍历完s下标了,即能够找到符合的新字符串
        if (sIndex == s.length() ) {
            return true;
        }
        return false;
    }
}

官方的双指针解法比我写的优秀啊文章来源地址https://www.toymoban.com/news/detail-671038.html

    public boolean isSubsequence(String s, String t) {
        int sLength = s.length(), tLength = t.length();
        int sIndex = 0, tIndex = 0;
        while (sIndex < sLength && tIndex < tLength) {
            if (s.charAt(sIndex) == t.charAt(tIndex)) {
                sIndex++;
            }
            tIndex++;
        }
        return sIndex == sLength;
    }

到了这里,关于【LeetCode】392. 判断子序列 - 双指针的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 代碼隨想錄算法訓練營|第五十六天|392.判断子序列、1035.不相交的线、115.不同的子序列。刷题心得(c++)

    目录 讀題 392.判断子序列 自己看到题目的第一想法 看完代码随想录之后的想法 115.不同的子序列 看完代码随想录之后的想法 392.判断子序列 - 實作 思路 原始思路 代碼隨想錄思路 Code 原始思路 代碼隨想錄思路 115.不同的子序列 - 實作 思路 Code 總結 自己实现过程中遇到哪些困

    2024年02月06日
    浏览(31)
  • 【Python3】【力扣题】392. 判断子序列

    【力扣题】题目描述: 【Python3】代码: 1、解题思路:遍历字符串s,使用一个列表依次记录在字符串t中的位置,若没有该字母则返回False,若索引号小于上一个字母的索引号,返回False。否则返回True。 知识点:[ ]:创建新列表。相当于 list()。               字符串

    2024年01月19日
    浏览(27)
  • leetcode:判断子序列

    easy 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如, \\\"ace\\\" 是 \\\"abcde\\\" 的一个子序列,而 \\\"aec\\\" 不是)。 进阶: 如果有大量输入的 S,称作 S1, S2, … , Sk 其中

    2024年02月12日
    浏览(25)
  • 【代码随想录刷题记录】 392.判断子序列 、 115.不同的子序列

    1、题目 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,\\\"ace\\\"是\\\"abcde\\\"的一个子序列,而\\\"aec\\\"不是)。 题目链接:https://leetcode.cn/problems/is-subsequence/ 2、代码

    2024年02月16日
    浏览(32)
  • 代码随想录第五十七天|● 392.判断子序列 ● 115.不同的子序列

    题目: 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,\\\"ace\\\"是\\\"abcde\\\"的一个子序列,而\\\"aec\\\"不是)。 进阶: 如果有大量输入的 S,称作 S1, S2, … , Sk 其中

    2024年02月06日
    浏览(34)
  • 【二分查找】【双指针】LeetCode:2565最少得分子序列

    【动态规划】【广度优先】LeetCode2258:逃离火灾 二分查找算法合集 有序向量的 二分查找 ,初始化完成后,向量不会修改。 双指针 : 用于计算子字符串是s的字符串的子系列。 给你两个字符串 s 和 t 。 你可以从字符串 t 中删除任意数目的字符。 如果没有从字符串 t 中删除字

    2024年02月05日
    浏览(42)
  • 【算法专题--双指针算法】leetcode--283. 移动零、leetcode--1089. 复写零

    🍁你好,我是 RO-BERRY 📗 致力于C、C++、数据结构、TCP/IP、数据库等等一系列知识 🎄感谢你的陪伴与支持 ,故事既有了开头,就要画上一个完美的句号,让我们一起加油 双指针 常见的双指针有两种形式,一种是对撞指针,⼀种是左右指针。 对撞指针:一般用于顺序结构中

    2024年03月17日
    浏览(31)
  • Leetcode | 对撞指针算法笔记

    对撞指针的基本思想是在 数组或链表等数据结构 中使用两个指针( left 或 right 、 start 或 end 等表示),分别从不同的方向(通常是数组的两端)移动,以便有效地进行 搜索、遍历或判断 。 对撞指针常见的运用场景包括: 排序数组的查找 :对撞指针可以用于在已排序的数

    2024年02月12日
    浏览(73)
  • LeetCode算法小抄 -- 链表(快慢指针、双指针、回文链表)

    ⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计10077字,阅读大概需要10分钟 🌈更多学习内容, 欢迎👏关注👀文末我的个人微信公众号:不懂开发的程序猿 个人网站:https://jerry-jy.co/ Collection 子接口之 Queue (LeetCode上经常用,手撕算法题!

    2023年04月08日
    浏览(24)
  • leetCode 376.摆动序列 贪心算法

    如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为  摆动序列 。 第一个差(如果存在的话)可能是正数或负数。 仅有一个元素或者含两个不等元素的序列也视作摆动序列。 例如,  [1, 7, 4, 9, 2, 5]  是一个  摆动序列  ,因为差值  (6, -3, 5, -7, 3)  是正负

    2024年02月07日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包