17. Letter Combinations of a Phone Number
# Medium
Solution:
class Solution:
def letterCombinations(self, digits: str) -> List[str]:
res = []
# edge case
if len(digits) == 0:
return res
dic = {'2': 'abc', '3': 'def', '4': 'ghi', '5': 'jkl', '6': 'mno', '7': 'pqrs', '8': 'tuv', '9': 'wxyz'}
self.helper(digits, dic, 0, '', res)
return res
def helper(self, digits, dic, index, level, res):
# add condition
if len(level) == len(digits):
res.append(level)
for i in range(index, len(digits)):
digit = digits[i]
for j in dic[digit]:
newLevel = level + j
self.helper(digits, dic, i+1, newLevel, res) Last updated