一. 二叉树四种遍历的方式:
- 前中后序遍历。
- 层序遍历——实际上就是利用BFS。
二. 二叉树解题的两种思路:
二叉树的形状特别像我们的递归树。
所以其实我们学二叉树利用递归,以后就是学递归利用二叉树,两者并不冲突。
解二叉树的题也有两种方法:
- 自顶向下的递归——先处理当前节点,再看看当前节点有没有什么能够传给子节点的。
- 自底向上的递归——看看由子节点的信息能不能得到当前节点的信息。
注意有时候我们可能希望从节点出发沿着树的边往上走,这是不可取的。
因为二叉树是有向树,哪怕其左节点和右节点都是利用单链表的思想,不能倒着走。
如果真的想倒着走,完全可以引入一个栈来存储。(见打印目标节点到根节点路径)
三. 其他技巧
- 利用递归的时候可以使用整体法——比如在二叉树的递归的时候其实完全可以把左子树和右子树看为一个整体。
- 关于叶子节点和空节点——这个在之前的博客中已经说过了,自己到时候注意区分就行。