题目

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

你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。

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

示例 1:
s = "abc", t = "ahbgdc"

返回 true.

示例 2:
s = "axc", t = "ahbgdc"

返回 false.

后续挑战 :

如果有大量输入的 S,称作S1, S2, … , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情况下,你会怎样改变代码?

致谢:

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/is-subsequence
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

思路

很容易想到的思路,判断s的当前字符是否等于t的当前字符,如果相等,则继续判断s的下一个字符,直到到达了t的末尾或者s的末尾。

代码

class Solution:def isSubsequence(self, s: str, t: str) -> bool:# s和t的索引si,ti = 0,0while ti < len(t) and si < len(s):if s[si] == t[ti]:si += 1ti += 1return si == len(s)

LeetCode刷题——392. 判断子序列相关推荐

  1. leetcode - 392. 判断子序列

    392. 判断子序列 -------------------------------------------- 给定字符串 s 和 t ,判断 s 是否为 t 的子序列. 你可以认为 s 和 t 中仅 ...

  2. 【Leetcode -389.找不同 -392.判断子序列】

    Leetcode Leetcode -389.找不同 Leetcode -392.判断子序列 Leetcode -389.找不同 题目:给定两个字符串 s 和 t ,它们只包含小写字母. 字符串 t ...

  3. C#LeetCode刷题-贪心算法

    贪心算法篇 # 题名 刷题 通过率 难度 44 通配符匹配 17.8% 困难 45 跳跃游戏 II 25.5% 困难 55 跳跃游戏 30.6% 中等 122 买卖股票的最佳时机 II C#LeetC ...

  4. C#LeetCode刷题-动态规划

    动态规划篇 # 题名 刷题 通过率 难度 5 最长回文子串 22.4% 中等 10 正则表达式匹配 18.8% 困难 32 最长有效括号 23.3% 困难 44 通配符匹配 17.7% 困难 53 最 ...

  5. C#LeetCode刷题-二分查找​​​​​​​

    二分查找篇 # 题名 刷题 通过率 难度 4 两个排序数组的中位数 C#LeetCode刷题之#4-两个排序数组的中位数(Median of Two Sorted Arrays)-该题未达最优解 30 ...

  6. LeetCode 刷题之路(python版)

    摘自:https://blog.csdn.net/qq_32384313/article/details/90745354 LeetCode 刷题之路(python版) 小坏wz 2019-06-02 ...

  7. 个人LeetCode刷题记录(带题目链接及解答)持续更新

    Leetcode 刷题 注:~[完成]代表还有一些方法没看,最后再看 一.一些需要重刷的典型题: 1.快速排序,归并排序,堆排序(递归的思想) 2.链表中的回文链表,其中的快慢指针,多看,多练 3.链 ...

  8. LeetCode刷题笔记汇总

    LeetCode刷题笔记汇总 第一次刷LeetCode写的一些笔记. 1.两数之和 3.无重复字符的最长子串 15.三数之和 18.四数之和 19.删除链表的倒数第 N 个结点 20.有效的括号 21 ...

  9. LeetCode刷题Python实录

    使用Python的LeetCode刷题 前言 题目 1408. 数组中的字符串匹配 508. 出现次数最多的子树元素和 1089. 复写零 剑指 Offer 14- I. 剪绳子 1175. 质数排列 ...

  10. 【LeetCode刷题日记】常用算法基础和理解及运用

    在我们LeetCode刷题过程中,如果我们只是了解数据结构(数组,链表,数)的使用方法,那我们在面对复杂的题目时,是很难很好的解决问题的,因此我们要了解一些常用算法来帮助我们更好的解题. 递归和迭代 ...

最新文章

  1. [Python设计模式] 第21章 计划生育——单例模式
  2. Kubernetes初探[1]:部署你的第一个ASP.NET Core应用到k8s集群
  3. [MEGA DEAL] Java编程-硕士课程(85%折扣)
  4. Android Shape工具 Duck
  5. centOS下安装tomcat详解
  6. 什么是 CD 管道?一文告诉你如何借助 Kubernetes、Ansible 和 Jenkins 创建 CD 管道!...
  7. 计算机考试c语言真题及答案,计算机二级c语言考试试题及答案
  8. jmeter分布式性能测试
  9. Spring全面详解(学习总结)
  10. 小米商城前端页面(静态)
  11. 【五校联考5day2】光棍
  12. CSP 201609-3 炉石传说
  13. 因为此版本的应用程序不支持其项目类型(.csproj),若要打开它,请使用支持此类型项目的版本
  14. Nagios nsca插件进程突然死掉
  15. idea本地项目push到远程仓库报错解决方法
  16. CentOS8 源码编译安装 lamp环境 (apache24 + php7.3 + mysql57)
  17. k8s证书过期怎么办?
  18. JsonProperty.Access.READ_ONLY 导致查询字段为null
  19. PCB表面处理OSP工艺中影响膜厚的因素分析
  20. python模拟登录qq账号密码_Python自动登录QQ的实现示例

热门文章

  1. 【linux】centos7下muduo库的安装
  2. (转) EF三种编程方式的区别Database first ,Model first ,code first
  3. java day04【 Idea、方法】
  4. 学JS的心路历程 - JS应用
  5. Oracle数据库结构
  6. solr6.5的分词
  7. HUD-1559 最大子矩阵,dp模拟
  8. HTML中常见元素及格式
  9. 如何获取母版页上控件的值?
  10. 微软于 snapcraft 上发布 Visual Studio Code 的 Snap 打包版本