1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| class Solution(object): letters = {'2' : ['a', 'b', 'c'], '3' : ['d', 'e', 'f'], '4' : ['g', 'h', 'i'], '5' : ['j', 'k', 'l'], '6' : ['m', 'n', 'o'], '7' : ['p', 'q', 'r', 's'], '8' : ['t', 'u', 'v'], '9' : ['w', 'x', 'y', 'z']}
def letterCombinations(self, digits): """ :type digits: str :rtype: List[str] """ if digits is None or digits == '': return [] if len(digits) == 1: return self.letters.get(digits[0], []) solns = [] if digits[0] in self.letters: for soln in self.letterCombinations(digits[1:]): for ch in self.letters[digits[0]]: solns.append(ch + soln) else: for soln in self.letterCombinations(digits[1:]): solns.append(soln) return solns
|