首先是遍历顺序
前、中、后、层次遍历。
前序,一般用来求深度。
有道题,求最左下角的值,就需要判断是否到达了最深深度。这个时候传参带了 depth。
二叉树的修改与构造用的都是前序
中序,一般用在二叉搜索树当中。
因为这样遍历的二叉树是有序的。
同时,在二叉搜索树中,会常用双指针。这时候一定要注意更新 pre 结点
后序,一般用在二叉树的一些性质中。
结点数、高度(最大深度)、需要用到两个子树传到根结点来判断的,一般都需要用到后序遍历。
递归函数的设计。
参数、返回值、终止条件、单层逻辑、
我觉得很重要的就是终止条件 和 单层逻辑。
我觉得做递归题目的时候,只需要把单层需要做的事情想清楚。然后其他的留给递归。这样就不会很乱。
感觉二叉树没啥好总结的。。因为学得还不透,所以总会有朦朦胧胧的感觉。觉得递归很奇妙,其实递归很暴力hh。多回顾吧,可能多做几次,就能发现以前没注意到的细节。