Leetcode题解---17. 电话号码的字母组合
17. 电话号码的字母组合class Solution:def letterCombinations(self, digits: str) -> List[str]:conversion={'2':'abc','3':'def','4':'ghi','5':'jkl','6':'mno','7':'pqrs','8':'tuv','9':'wxyz'}if len(digits)==0:re
·
17. 电话号码的字母组合
class Solution:
def letterCombinations(self, digits: str) -> List[str]:
if not digits: return []
dic = {"2":'abc', "3":'def', "4":'ghi', "5":'jkl', "6":'mno', "7":'pqrs', "8":'tuv', "9":'wxyz'}
ans = []
path = []
def backtrack(string):
# 回溯终止条件:path长度和输入字符一样长
if len(path) == len(digits):
#由于path的添加方式,此处需要重新组合成str
ans.append(''.join(path[:]))
return
#每到一个节点,选择列表就是当前数字所表示的字母
for char in dic[string[0]]:
path.append(char)
backtrack(string[1:])
path.pop()
backtrack(digits)
return ans
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)