leetcode日记17. 电话号码的字母组合

17. 电话号码的字母组合

题目

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

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

示例

输入:"23"
输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].
说明:
尽管上面的答案是按字典序排列的,可是你能够任意选择答案输出的顺序。

题解

这题,有点简单,持续的日后加字符就好了.什么回溯不回溯的,说的太复杂了.python

def letterCombinations(digits):
    nums_dict = { 
 
  
        "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"]
    }
    if len(digits) == 0:
        return []
    if len(digits)==1:
        return nums_dict[digits[0]]

    combine_list = nums_dict[digits[0]]
    for i in range(len(digits)-1):
        combine_list = become_more_long(
            combine_list, digits[i], digits[i+1], nums_dict)
    return combine_list


def become_more_long(combine_list, last_value, new_value, nums_dict):
    new_combine_list = []
    for combine in combine_list:
        for i in nums_dict[new_value]:
            new_combine_list.append(combine+i)
    return new_combine_list

python学到了

今天学会在vscode里面修改保存时自动格式化…
在设置里修改这个属性"files.autoSave": “off”“files.autoSave”: “off”
在这里插入图片描述git