二叉树的后续遍历

一、自底向上

二叉树自底向上的递归就是后续遍历,后续遍历在二叉树中非常非常重要,他能够先遍历左右子树的值,然后在返回到父节点,是一个非常非常理想的自底向上的逻辑。

几乎所有二叉树的题目,如果使用 dfs,都需要二叉树的后续遍历逻辑。因为都需要考虑最简单的节点的左右节点情况,然后再往上依次扩大规模。

一般我们做二叉树的题目,比如求二叉树的深度,都会这样写:

    public int maxDepth(TreeNode root) {
        if(root == null){
            return 0;
        }
        int left = maxDepth(root.left);
        int right = maxDepth(root.right);
        return Math.max(left, right) + 1;
    }

都是先求左边,然后求右边,然后依次向上。而这个代码实际上的运行顺序就是先到最后一个节点,然后看left和right,然后往上。然后看最后一个节点的(此时变成 left)的父节点的 right,以此类推。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容