二叉树

68 阅读1分钟

⼆叉树题⽬的⼀个难点就是,如何把题⽬的要求细化成每个节点需要做的事情。

写树相关的算法,简单说就是,先搞清楚当前 root 节点「该做什么」以及「什么时候做」,然后根据函数 定义递归调⽤⼦节点,递归调⽤会让孩⼦节点做相同的事情。

所谓「该做什么」就是让你想清楚写什么代码能够实现题⽬想要的效果,所谓「什么时候做」,就是让你思

考这段代码到底应该写在前序、中序还是后序遍历的代码位置上。

遍历

考虑每个节点应该怎么做

分解子问题

只考虑根节点的左右子节点该怎么做