题目链接在这里:电话号码的字母组合
这道题主要学习的是哈希表的应用:可以用大括号来代表建立哈希表,以及子函数的实现:可以直接在主函数中定义子函数,将\(string\)拼成一个整个的长\(string:\)"".join(list), 注意前面的这个空串是必要的,它代表子串之间直接相连,没有其他的字符。
from ast import List
class Solution:
    def letterCombinations(self, digits: str) -> List:
        if digits == "":
            return []
        
        phoneMap = {
            "2": "abc",
            "3": "def",
            "4": "ghi",
            "5": "jkl",
            "6": "mno",
            "7": "pqrs",
            "8": "tuv",
            "9": "wxyz",
        }
        combination = []
        combinations = []
        def dfs(index:int):
            if index == len(digits):
                combinations.append("".join(combination))
            else:
                digit = digits[index]
                for i in phoneMap[digit]:
                    combination.append(i)
                    dfs(index=index+1)
                    combination.pop()
        
        dfs(0)
        return combinations
if __name__=="__main__":
    digits = ""
    ans = Solution().letterCombinations(digits=digits)
    print(ans)
    未来是什么样,未来会发生什么,谁也不知道。  
但是我知道,  
起码从今天开始努力,  
肯定比从明天开始努力,  
要快一天实现梦想。  
千里之行,始于足下!       ——《那年那兔那些事儿》
 
                     
                    
                 
                    
                 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号