# 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 # # 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 # # # 示例 1: # 输入:digits = "23" # 输出:["ad","ae","af","bd","be","bf","cd","ce","cf"] # # 示例 2: # 输入:digits = "" # 输出:[] # # 示例 3: # 输入:digits = "2" # 输出:["a","b","c"] map_dict= {2:"abc",3:"def",4:"ghi",5:"jkl",6:"mno",7:"pqrs", 8:"tuv", 9:"wxyz"} def call_back(input_digits,start_index,path,res): if len(path) > len(input_digits): return if len(path) == len(input_digits): res.append(''.join(path[:])) return for i in range(start_index, len(input_digits)): alph = map_dict[input_digits[i]] for a in alph: path.append(a) call_back(input_digits, i+1, path, res) path.pop() return res digits = input().strip('"') print(list(digits)) path =[] res = [] input_digits = list(map(int, list(digits))) result = call_back(input_digits,0,path,res) print(result)
5.回溯算法-电话号码字母组合.py
于 2023-12-06 21:23:34 首次发布