给定一个仅包含数字 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
今天学会在vscode里面修改保存时自动格式化…
在设置里修改这个属性"files.autoSave": “off”“files.autoSave”: “off”
git