• 框架思维--104二叉树的最大深度


    [104. 二叉树的最大深度]

    给定一个二叉树,找出其最大深度。

    二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。

    说明: 叶子节点是指没有子节点的节点。

    示例:
    给定二叉树 [3,9,20,null,null,15,7]

        3
       / 
      9  20
        /  
       15   7
    

    返回它的最大深度 3 。

    框架思维: 二叉树 --> 递归 --> 前序 / 中序 / 后序 我们看到二叉树想到的就是三种顺序的遍历。

    采用后序遍历,原因: 二叉树的深度可以看成 1 + 左子树和右子树最大深度

    --- 来自 《算法小抄》的启发

    var maxDepth = function(root) {
      	// base case
        if (root == null) {
            return 0;
        }
        let leftDep = maxDepth(root.left);
        let rightDep = maxDepth(root.right);
        return Math.max(leftDep, rightDep) + 1;
    };
    
    慢慢来,比较快!基础要牢,根基要稳!向大佬致敬!
  • 相关阅读:
    面向对象之绑定方法与非绑定方法
    Django-admin源码解析
    单例模式
    Django-admin管理工具
    Django-CBV
    叠加装饰器,三元表达,生成,调用,递归
    迭代器与生成器
    有参装饰器
    储备知识与装饰器
    文件修改
  • 原文地址:https://www.cnblogs.com/rookie123/p/14422707.html
Copyright © 2020-2023  润新知