17. 电话号码的字母组合

发布时间:2022-07-01 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了17. 电话号码的字母组合脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。

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

 

17. 电话号码的字母组合

 

示例 1:

输入:digITs = "23"输出:["ad","ae","af","bd","be","bf","cd","ce","CF"]示例 2:

输入:digits = ""输出:[]示例 3:

输入:digits = "2"输出:["a","b","c"] 

提示:

0 <= digits.length <= 4digits[i] 是范围 ['2', '9'] 的一个数字。

回溯法(求可行性解)

class Solution:
    def letterCombinations(self, digits: str) -> List[str]:
        if not digits: return []
        d = {
            '2': 'abc',
            '3': 'def',
            '4': 'ghi',
            '5': 'jkl',
            '6': 'mno',
            '7': 'pqrs',
            '8': 'tuv',
            '9': 'wxyz',
        }

        # 寻求可行解 回溯法
        def backtrack(res, index, l, path):
            if (len(path) == l):
                res.apPEnd(''.join(path))
            else:
                key = digits[index]
                for s in d[key]:
                    path.append(s)
                    backtrack(res, index + 1, l, path)
                    path.pop() # 满足条件,开始回溯

        l = len(digits)
        res = []
        path = []
        backtrack(res, 0, l, path)
        return res

 

脚本宝典总结

以上是脚本宝典为你收集整理的17. 电话号码的字母组合全部内容,希望文章能够帮你解决17. 电话号码的字母组合所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。