来源:代码随想录
本题的力扣链接:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/
1、题目描述:
2、思路:
从示例上来看,输⼊"23",最直接的想法就是两层for循环遍历了吧,正好把组合的情况都输出了。
如果输⼊"233"呢,那么就三层for循环,如果"2333"呢,就四层for循环…
因此,这道题很明显用回溯法做,解决多层for循环嵌套问题。
接着,我们画一下树形图,来帮助我们理解。例如:输⼊:“23”,抽象为树形结构,如图所示:
图中可以看出遍历的深度,就是输⼊"23"的⻓度,⽽叶⼦节点就是我们要收集的结果,输出[“ad”, “ae”,“af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”]。
写代码,使用回溯三部曲:
3、代码:
3.1 python代码:
class Solution:
def letterCombinations(self, digits: str) -> List[str]:
if not digits: