数据结构算法操作试题(C++/Python)——电话号码的字母组合

时间:2022-07-24
本文章向大家介绍数据结构算法操作试题(C++/Python)——电话号码的字母组合,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1. 题目

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

2. 解答

迭代、递归、队列均可以解答,作者用的迭代

python:52ms, 13.2MB, 30%

class Solution:
    numsDict = {'2': "abc", 
                    '3': "def", 
                    '4': "ghi", 
                    '5': "jkl", 
                    '6': "mno", 
                    '7': "pqrs", 
                    '8': "tuv", 
                    '9': "wxyz"}
                    
	def letterCombinations(self, digits: 'str') -> 'List[str]':
        res = []
        for i in range(len(digits)):
            res = self.crossStr(res, list(self.numsDict[digits[i]]))
        return res
    
    def crossStr(self, str_1_list, str_2_list):
        res = []
        if str_1_list == []:
            return str_2_list
        for i in str_1_list:
            for j in str_2_list:
                res.append(i + j)
        return res                  

其他方法看 leetcode 链接 评论区~