Menu
CoddyTech

Is Subsequence

简单双指针python iconjava iconcpp iconc iconjs icon+10

给你两个字符串,s 和 t。如果可以删除 t 中的一些字母(也可以不删除),使其变成 s,并且剩余字母的顺序保持不变,则返回 true,否则返回 false。例如,ace 是 abcde 的子序列,但 aec 不是。

函数

isSubsequence(s: string, t: string) → boolean
sstring
要查找的字符串
tstring
要从中删除字母的字符串
返回值boolean
如果可以按顺序在 t 中读取 s,中间可能有间隔,则为 true

约束条件

  • 1 ≤ s.length ≤ 3 × 104
  • 1 ≤ t.length ≤ 5 × 104
  • s 和 t 只包含小写英文字母。

示例

输入
s = "ace"t = "abcde"
输出
true
解释
从 abcde 中删除 b 和 d 后,剩下 ace,顺序不变。
challenge icon

进阶

如果 t 保持不变,而你要将一百万个字符串 s 与它逐一比较,该如何预处理 t,让每次比较都比读取 t 的全部内容更快?

重置代码
def isSubsequence(s, t):
    # 在这里编写代码

测试 #1

测试 #2

测试 #3

参数

s = "ace"
t = "abcde"

预期输出

true