记录算法做题
- 确定 dp 数组及其下标的含义
- 确定递推公式
- dp 如何初始化
- 确定遍历顺序
- 举例推导 dp 数组
//backtrack的公式:
result = []
def backtrack(路径, 选择列表):
if 满足结束条件:
result.add(路径)
return
for 选择 in 选择列表:
做选择
backtrack(路径, 选择列表)
撤销选择
- 确定递归函数的参数和返回值
- 确定终止条件
- 确定单层递归的逻辑
- 高度:当前节点到叶子节点的距离,求高度使用后序遍历(左右中),因为高度是从叶子节点开始计算
- 深度:当前节点到根节点的距离,求深度使用前序遍历(中左右),因为深度是从根节点开始计算