leetcode(9)-电话号码的字母组合

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。

给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

链接:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/

没什么好说的,就是测试的时候别手贱多打几个数字,卡的电脑动不了

class Solution:
    def letterCombinations(self, digits: str):
        if len(digits)==0:
            return []
        maps = {
            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']
        }
        lists = maps[int(digits[0])]
        for each in digits[1:]:
            new_lists = []
            for s in lists:
                for c in maps[int(each)]:
                    new_lists.append(s+c)
            lists= new_lists
           
        return lists
#s = Solution()
posted @ 2020-01-02 20:02  木子士心王大可  阅读(183)  评论(0)    收藏  举报