题目链接在这里:电话号码的字母组合
这道题主要学习的是哈希表的应用:可以用大括号来代表建立哈希表,以及子函数的实现:可以直接在主函数中定义子函数,将\(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)
未来是什么样,未来会发生什么,谁也不知道。
但是我知道,
起码从今天开始努力,
肯定比从明天开始努力,
要快一天实现梦想。
千里之行,始于足下! ——《那年那兔那些事儿》