给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 (映射同九宫格输入法)
- 嵌套套嵌套
class Solution:
def letterCombinations(self, digits: str) -> List[str]:
dict={}
dict[2]="a b c".split()
dict[3]="d e f".split()
dict[4]="g h i".split()
dict[5]="j k l".split()
dict[6]="m n o".split()
dict[7]="p q r s".split()
dict[8]="t u v".split()
dict[9]="w x y z".split()
ans = []
for digit in digits:
if ans ==[]:
for i in range(len(dict[int(digit)])):
ans.append(dict[int(digit)][i])
else:
list = []
for tans in ans:
for i in range(len(dict[int(digit)])):
list.append(tans+str(dict[int(digit)][i]))
ans=list
return ans