class Solution:
def __init__(self):
self.letter = [
"",'','abc','def','ghi','jkl','mno','pqrs','tuv','wxyz'
]
def back(self,digits,index,s,res):
if len(s) == len(digits):
res.append(s)
return
num = int(digits[index])
for i in self.letter[num]:
self.back(digits,index+1,s+i,res) # 因为是字符串,所以无需pop,因为字符串的内容是不可以改变的,回溯的过程中结果是不变的。
def letterCombinations(self, digits: str) -> List[str]:
res = []
if len(digits) == 0:
return res
self.back(digits,0,'',res)
return res