leetcode - 二叉树最大深度
2024-09-04 17:48:42
二叉树最大深度
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [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);
};
最新文章
- .NET Framework基础知识总结
- asp.net MVC之 自定义过滤器(Filter) - shuaixf
- 041. asp.net中内容页访问母版页中的控件
- POJ2828 Buy Tickets
- Java数据类型和对象的引用
- MVP架构。。。。
- ERP_Oracle Erp 11i 和 R12的区别概述(概念)
- How Tomcat Works(十八)
- Qt的目录依赖问题----怎样生成一个绿色的Qt软件包
- 【百度地图API】自行获取区域经纬度的工具
- 2.1 Java程序的构成
- TypeError: 'encoding' is an invalid keyword argument for this function
- 【大数据安全】Apache Kylin 安全配置(Kerberos)
- java中Comparatable接口和Comparator接口的区别
- Windows2012 要远程登录,你需要具有通过远程桌面服务进行登录的权限.
- 高性能mysql 第六章查询性能优化 总结(上)查询的执行过程
- 洛谷 P1507 NASA的食物计划 【二维费用背包】 || 【DFS】
- [转]How to speed up Magento 2. Maximum Performance
- git and github问题集锦
- IntelliJ IDEA 2017版 spring-boot与Mybatis简单整合
热门文章
- CF987C Three displays 解题报告
- gitlab web客户端的使用
- 【JavaScript权威指南】——逻辑与(&;&;)
- 牛客假日团队赛1 I.接机
- servlet获取并存储web.xml中context-param参数
- Nologging操作对standby的影响
- UnityError AnimationEvent 'NewEvent' has no receiver! Are you missing a component?
- 利用Python进行数据分析 2017 第二版 项目代码
- cucumber的hooks
- sublime 常用快捷键(转)