文巾解题 17. 电话号码的字母组合
Posted UQI-LIUWJ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文巾解题 17. 电话号码的字母组合相关的知识,希望对你有一定的参考价值。
1 题目描述
2 解题思路
建立一个哈希表,然后一位一位加进去
class Solution:
def letterCombinations(self, digits: str) -> List[str]:
d={'2':['a','b','c'],
'3':['d','e','f'],
'4':['g','h','i'],
'5':['j','k','l'],
'6':['m','n','o'],
'7':['p','q','r','s'],
'8':['t','u','v'],
'9':['w','x','y','z']}
#数字和字母对应的哈希表
ret=[]
for i in digits:
l=len(ret)
#当前长度的字符串的数量(他们在这一轮迭代中,全部会被弹出列表,加上下一位数字对应的字符串后,再弹入)
if(l==0):
ret=d[i].copy()
#第一个字符需要特判一下
else:
tmp=[]
for j in range(l):
x=ret.pop(0)
for k in d[i]:
ret.append(x+k)
#弹出列表的字符串,加上下一位数字对应的字符串后,再弹入
return(ret)
以上是关于文巾解题 17. 电话号码的字母组合的主要内容,如果未能解决你的问题,请参考以下文章