二叉树最大深度

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

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

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

示例:

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

   3
/ \
9 20
/ \
15 7

返回它的最大深度 3

解法:首先要进行深度优先遍历,选区的深度优先遍历方式随意。关键是如何计算在便利时候计算深度?我的解法是,基于递归的基础上,初始化的时候设定每个节点的初始深度为1,遍历到叶子节点的时候,返回当前节点所拥有的节点总数(包含自身)。简单来说就是从叶子节点开始向上计数。

/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} root
* @return {number}
*/
var maxDepth = function(root) {
if(!root)
return 0; let leftDepth,
rightDepth; leftDepth = maxDepth(root.left);
rightDepth = maxDepth(root.right); return 1 + Math.max(leftDepth,rightDepth); };

最新文章

  1. .NET Framework基础知识总结
  2. asp.net MVC之 自定义过滤器(Filter) - shuaixf
  3. 041. asp.net中内容页访问母版页中的控件
  4. POJ2828 Buy Tickets
  5. Java数据类型和对象的引用
  6. MVP架构。。。。
  7. ERP_Oracle Erp 11i 和 R12的区别概述(概念)
  8. How Tomcat Works(十八)
  9. Qt的目录依赖问题----怎样生成一个绿色的Qt软件包
  10. 【百度地图API】自行获取区域经纬度的工具
  11. 2.1 Java程序的构成
  12. TypeError: 'encoding' is an invalid keyword argument for this function
  13. 【大数据安全】Apache Kylin 安全配置(Kerberos)
  14. java中Comparatable接口和Comparator接口的区别
  15. Windows2012 要远程登录,你需要具有通过远程桌面服务进行登录的权限.
  16. 高性能mysql 第六章查询性能优化 总结(上)查询的执行过程
  17. 洛谷 P1507 NASA的食物计划 【二维费用背包】 || 【DFS】
  18. [转]How to speed up Magento 2. Maximum Performance
  19. git and github问题集锦
  20. IntelliJ IDEA 2017版 spring-boot与Mybatis简单整合

热门文章

  1. CF987C Three displays 解题报告
  2. gitlab web客户端的使用
  3. 【JavaScript权威指南】——逻辑与(&&)
  4. 牛客假日团队赛1 I.接机
  5. servlet获取并存储web.xml中context-param参数
  6. Nologging操作对standby的影响
  7. UnityError AnimationEvent 'NewEvent' has no receiver! Are you missing a component?
  8. 利用Python进行数据分析 2017 第二版 项目代码
  9. cucumber的hooks
  10. sublime 常用快捷键(转)