参考了这份题解,有空刷刷里面提到的类似题
用dfs解决问题
class Solution:
def letterCombinations(self, digits: str) -> List[str]:
if len(digits)<=0:
return []
dic = { "2": "abc", "3": "def", "4":"ghi", "5":"jkl", "6":"mno", "7":"pqrs", "8":"tuv", "9":"wxyz"}
res = []
self.dfs(idx=0,path='',strs=digits,dic=dic,res=res)
return res
def dfs(self,idx,path,strs,dic,res):
if idx<len(strs):
for i in dic[strs[idx]]:
self.dfs(idx+1,path+i,strs,dic,res)
else:
res.append(path)