前言
回溯算法这个系列我们之前已经总结过, 现在复习一下
- 回溯算法是一种暴力的搜索算法, 坦白来讲就是穷举
- 一般来说这些问题遇上了首先应当考虑回溯:组合问题, 排列问题, 子集问题, 切割问题, 棋盘问题(通常都是求所有可能)
- 回溯算法的本质是树形问题, 所有的回溯算法都可以通过树形结构来分析
- 回溯的关键部分用到递归, 因此和递归一样, 考虑问题时只管当下
- 回溯解题步骤(事实上还是递归的解题步骤)
- 确立backTracking函数的参数和功能
- 确立终止条件
- 确定当前需要处理的所有可能值
例题:电话号码的字母组合
题目描述:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母
题目链接: