2020.10.27二叉树的翻转(labuladong)
总结
1.细节
写递归算法的关键是要明确函数的「定义」是什么,然后相信这个定义,利用这个定义推导最终结果,绝不要试图跳入递归。
关键是明确每个节点到底要干嘛(实现X功能),然后锁死这个深信不疑。定义的函数就是实现x功能的函数,这个函数中的自身调用也都是实现X功能的。只要这样想就好了。
重点
细节2
这道题关键在于,后序遍历也可以实现功能,中序遍历却不行。
绝对不要跳进循环!
要这样想:前序遍历:根-左-右
中序遍历:左-根-右
后序遍历:左-右-根
本题X功能为:交换root的左右节点。以前序遍历为例子,就是先交换根的左右节点,再交换左结点的左右节点,再交换右节点的左右节点。
如图,显然前后遍历都满足了要求,但是中序没有。