文巾解题 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. 电话号码的字母组合的主要内容,如果未能解决你的问题,请参考以下文章

17. 电话号码的字母组合(递归+回溯)

文巾解题 784. 字母大小写全排列

17. 电话号码的字母组合

leetcode17 电话号码的字母组合(Medium)

LeetCode(17):电话号码的字母组合

Leetcode17. 电话号码的字母组合(HashMap+深搜回溯)