Advertisement
jinhuang1102

925. Long Pressed Name

Feb 26th, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.62 KB | None | 0 0
  1. """
  2. 925. Long Pressed Name
  3. 用两个index: i, j 来遍历name, typed. 当i==j时,i++, j++. 当i != j时,如果j与j-1相等那么j++。(如果j走到了typed末尾,return False。如果j != i, return False. else i++ j++
  4. 当跳出while循环,如果i 没有走到name的末尾,return False。如果走到末尾,check j 在type的位置,如果不在末尾,检查剩余部分是否与当前位相等。
  5. """
  6. class Solution(object):
  7.     def isLongPressedName(self, name, typed):
  8.         """
  9.        :type name: str
  10.        :type typed: str
  11.        :rtype: bool
  12.        """
  13.         if not name or not typed:
  14.             return False
  15.        
  16.         if len(typed) < len(name):
  17.             return False
  18.        
  19.         i = j = 0
  20.         while i < len(name) and j < len(typed):
  21.             if name[i] == typed[j]:
  22.                 i += 1
  23.                 j += 1
  24.             else:
  25.                 while j < len(typed) and typed[j] == typed[j-1]:
  26.                     j += 1
  27.                
  28.                 if j == len(typed):
  29.                     return False
  30.                 else:
  31.                     if typed[j] != name[i]:
  32.                         return False
  33.                     else:
  34.                         i += 1
  35.                         j += 1
  36.                    
  37.         if i != len(name):
  38.             return False
  39.         else:
  40.             if j != len(typed):
  41.                 while j < len(typed):
  42.                     if typed[j] != typed[j-1]:
  43.                         return False
  44.                     else:
  45.                         j += 1
  46.                        
  47.             return True
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement