Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution:
- def isLongPressedName(self, name, typed):
- """
- :type name: str
- :type typed: str
- :rtype: bool
- """
- if not typed:
- return False
- s1 = len(name)
- s2 = len(typed)
- if s1 > s2: #如果 typed 的长度小于 name 的长度, return False
- return False
- i = 0
- j = 0
- #在这个while loop 一定要用 and 否则就会IndexError: string index out of range。
- #For example: name = "vtkgn" typed = "vttkgnn"
- while i < s1 and j < s2:
- if name[i] == typed[j]: #如果在当前位两个string相等,继续找下一位
- i = i + 1
- j = j + 1
- else:
- if typed[j] == typed[j-1]: #因为typed有重复的letter,所以如果当前位与前一位的char相等说明是重复
- j = j + 1
- else: #如果与前一位不重复,则说明是错误的letter
- return False
- if i != s1: #这一步是要看name是否走完,如果没走完那就说明typed里面缺少某个letter
- # For example: "alex" "aaleeee"
- return False
- while j < s2: #这一步是检查typed 尾部letter的
- if typed[j] != name[-1]: # For example: name = "alex" typed = "alexxl"
- return False
- j = j + 1
- return True
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement