← 返回 Kata
EasyLeetCode2026-07-21原题 ↗

062Long Pressed Name

stringtwo-pointers

Problem

你的朋友正在键盘上输入自己的名字 name

有时候,某个按键可能被长按,于是这个字符会被输入多次。给定实际输入的字符串 typed,请判断它是否可能是输入 name 时,由部分字符被长按后得到的结果。

例如:

name = "alex"
typed = "aaleex"

其中字母 ae 都可能被长按,所以 typed 是一个合法的输入结果,返回:

true

长按只能让原有字符连续重复,不能改变字符的先后顺序,也不能漏掉或换成其他字符。

Examples

示例 1

Input:  name = "alex", typed = "aaleex"
Output: true

解释:ae 被长按后,可以得到 "aaleex"

示例 2

Input:  name = "saeed", typed = "ssaaedd"
Output: false

解释:输入 name 中的第二个 e 时,typed 对应的位置已经变成了 d。长按不能省略这个 e,所以结果不合法。

示例 3

Input:  name = "vtkgn", typed = "vttkgnn"
Output: true

解释:t 和最后的 n 被长按后,可以得到 "vttkgnn"

Constraints

  • 11 \leq name.length, typed.length 1000\leq 1000
  • nametyped 只由小写英文字母组成

最初怎么想、怎样补完整、最后如何落成。