描述:
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。
给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
方法一:
通过递归思想实现,递归的结束条件是nestdigit被读取完毕,长度为0,通过树遍历的方式去构造字符串到conbination,最后返回res。
这个方法用时在30ms左右,创造的是字典,占据的空间和搜索的时间应该较第二种方法没那么快。
class Solution:
def letterCombinations(self, digits: str) -> str:
phone = {'2':'abc',
'3':'def',
'4':'ghi',
'5':'jkl',
'6':'mno',
'7':'pqrs',
'8':'tuv',
'9':'wxyz'}
res = []
if not digits: return []
def backtrack(conbination, nextdigit):
if len(nextdigit) == 0:
res.append(conbination)
else: