Advertisement
jinhuang1102

17. Letter Combinations of a Phone Number

Oct 19th, 2018
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.20 KB | None | 0 0
  1. class Solution:
  2.     def letterCombinations(self, digits):
  3.         """
  4.        :type digits: str
  5.        :rtype: List[str]
  6.        """
  7.         if not digits:
  8.             return []
  9.        
  10.         keypad = {}
  11.         keypad['2'] = "abc"
  12.         keypad['3'] = "def"
  13.         keypad['4'] = "ghi"
  14.         keypad['5'] = "jkl"
  15.         keypad['6'] = "mno"
  16.         keypad['7'] = "pqrs"
  17.         keypad['8'] = "tuv"
  18.         keypad['9'] = "wxyz"
  19.                
  20.         # get the default letter
  21.         temp = []
  22.         letters = keypad[digits[0]]
  23.         for i in range(0, len(letters)):
  24.             temp.append(letters[i])
  25.            
  26.         # iterate each digit num
  27.         for i in range(1, len(digits)):
  28.            
  29.             # Get the letters of the digit num
  30.             s = keypad[digits[i]]
  31.            
  32.             # Get the num of res
  33.             num = len(temp)
  34.            
  35.             for j in range(0, len(s)):
  36.                 if j == 0:
  37.                     for k in range(num):
  38.                         temp[k] = temp[k] + s[j]
  39.                 else:
  40.                     for k in range(num):
  41.                         temp.append(temp[k][:-1] + s[j])
  42.            
  43.         return temp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement