电话号码的字母组合
示例:
输入:"23"
输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]....解题
此题涉及到回溯算法,回溯算法,顾名思义是一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现满足结束条件就“回溯”返回,寻找其它路径的选择。...回溯算法伪代码框架如下:
回溯算法伪代码框架
// 回溯算法伪代码
res = [] // 动态数组,数组长度可变
方法函数track(多叉树或图,选择列表) {
if 满足结束条件 {...回到题目描述,输入示例“23”,“2”的选择列表有{“a”, “b”, “c”},“3”的选择列表有{"d", "e", "f"},生成多叉树,如下图:
?...画出的方框
在这个节点加上了类似机关的小方框,触发这个红色小方框则作选择,触发这个蓝色小方框则作撤销选择。选择是指将这个节点的值加入到某个组合中,撤销选择是指将这个节点的值从某组合中撤出。