开启仗剑篇!加油! 原论文为Java版本,我这里选择用C++实现,同时记录自己的一些思考
## 1.1 二叉树
解题时只用思考每个节点需要做什么? 递归解题思路:
- 回溯:遍历一遍二叉树得出结果(辅助全局变量)
- 动归:拆解为子问题,并根据子问题的解推断问题的解
递归遍历:二叉树的遍历和写for循环遍历数组和链表没有本质区别,只不过这里用了递归的思想
1
2
3
4
5
6
7
8
9
10
11
12void traverse(TreeNode root)
{
if (root == null)
{
return;
}
// 前序位置
traverse(root.left);
// 中序位置
traverse(root.right);
// 后序位置
}
### 链表操作的递归思维一览:用递归不用迭代
例题:206. 反转链表