写在前面:

萌新第一篇博客,多少有点水分,就当第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