class Solution(object):
def letterCombinations(self, digits):
"""
:type digits: str
:rtype: List[str]
"""
res = []
s = ""
map = ["","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"]
if len(digits) == 0:
return []
def backtrack(index,digits,s):
if index == len(digits):
res.append(s)
return
digit = int(digits[index])
letter = map[digit]
for i in range(len(letter)):
s += letter[i]
backtrack(index+1,digits,s)
s = s[:-1]
backtrack(0,digits,s)
return res