Leetcode: Letter Combinations of a Phone Number
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']
}
class Solution:
def letterCombinations(self, digits: str) -> List[str]:
combinations = []
self.inner(digits, '', combinations)
return combinations
def inner(self, digits: str, path: str, combos: list[str]):
if digits == '':
if path != '':
combos.append(path)
return
first = digits[0]
for d in letters[first]:
self.inner(digits[1:], path + d, combos)