二叉树文章系列:
二叉树的后序遍历的记忆法则是“左右根",即先遍历左子树节点,再遍历右子树节点,最后遍历根节点。
以上图为例,后序遍历的结果是【D, E, B, F, G, C, A】
一、解题思路:递归
递归是我们实现前中后序遍历最常用的方法。
什么问题可以采用递归求解呢?
需要满足三个条件:
- 一个问题的解可以分解为若干个子问题的解;
- 这个问题与分解的子问题,除了数据规模不同外,求解思路相同
- 存在递归终止条件。
那么在知道一个问题可以采用递归实现之后,如何写出递归代码呢?
关键在于能写出递归公式,找到终止条件。
在二叉树的前序遍历问题上,它的递归公式是:
preorder(node) = preorder(node->left) --> preorder(node->right) —> print node
它的终止条件是: