写在前面:
萌新第一篇博客,多少有点水分,就当第0篇吧。
座右铭:“应势而变,不改鸿鹄之志”
加入工作室,多做题,多思考,努力成为大佬吧!
题目描述:
你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。
你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/long-pressed-name 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解题思路:对typed中的字符进行遍历,分两种情况: 1.字符s与name[n]相等,继续遍历 2.…… ………………不相等,也就是模拟长按的情况,此时:判断s是否与name[i-1]相等,如果不相等则不是长按,否则是长按 注:因为一开始在name字符串后加了‘1’,无论怎样都不会超过len(name) - 1
力扣代码:
class Solution:
def isLongPressedName(self, name: str, typed: str) -> bool:
n = 0
name += "1"
for s in typed:
if s == name[n]:
n += 1
elif s != name[n-1]:
return False
return n == len(name) - 1