二叉树的最大深度 - LeetCode 热题 37
创作时间:
作者:
@小白创作中心
二叉树的最大深度 - LeetCode 热题 37
引用
CSDN
1.
https://m.blog.csdn.net/Queser_/article/details/137061577
问题描述
给定一个二叉树 root,返回其最大深度。二叉树的最大深度是指从根节点到最远叶子节点的最长路径上的节点数。
示例
示例 1:
输入:root = [3,9,20,null,null,15,7]
输出:3
示例 2:
输入:root = [1,null,2]
输出:2
提示
- 树中节点的数量在 ([0, 10^4]) 区间内。
- (-100 <= Node.val <= 100)
解题方法
这道题目是关于二叉树的最大深度,即从根节点到最远叶子节点的最长路径上的节点数。
由于树的结构具有递归性质,树的每一个子树都可以看作是一个独立的树,我们可以将问题分解为子问题,先处理子问题的解,再处理当前问题。
也就是先求出左右子树的最大深度,当前节点的最大深度就很好求了,就是左右子树深度的较大值+1。
- 判断根节点是否为空
- 如果根节点为空,说明当前节点是叶子节点的子节点,返回深度为0。
- 递归计算左右子树的深度
- 递归调用
maxDepth函数来计算左右子树的深度,得到左子树的深度l和右子树的深度r。
- 返回当前节点的最大深度
- 返回左右子树深度的较大值,并加上当前节点的深度1,作为当前节点的最大深度。
代码实现
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode() {}
* TreeNode(int val) { this.val = val; }
* TreeNode(int val, TreeNode left, TreeNode right) {
* this.val = val;
* this.left = left;
* this.right = right;
* }
* }
*/
class Solution {
public int maxDepth(TreeNode root) {
if(root == null){
return 0;
}
int l = maxDepth(root.left);
int r = maxDepth(root.right);
return Math.max(l, r) + 1;
}
}
热门推荐
从《红玫瑰与白玫瑰》到《延禧攻略》:白月光的文化之旅
冬游婺源:江岭雪景与篁岭民俗的完美邂逅
网络借款防坑指南:教你安全借贷五步走
捷达VA3底盘揭秘:MQB平台的秘密武器
歼-20出口热议:性能超越F-35,中东国家为何如此执着?
南瓜的营养密码:富含β-胡萝卜素,守护视力与心脏
手机系统修复指南:从常见问题解决到专业修复工具的使用
2024版中国高血压防治指南发布,明确诊断标准和家庭测量规范
清热解毒又美容,腊梅花的多重功效与使用方法
四川张家界自驾游:两条三日游线路详解,附预算和注意事项
云南自驾游攻略:60岁以上老人享门票优惠,7天行程规划
理想很丰满,现实很骨感:老年人自驾游的五重困境
放屁臭是肠癌预警?教你辨别正常与异常,守护肠道健康
二战原子弹基地重获新生,美军布局西太平洋应对中国
传统风水遇上现代家居:如何用古老智慧提升居住品质
有片丨华润雪花啤酒诞生地沈阳获“中国啤酒之都”称号
辽宁本钢队六年四冠,CBA联赛展现统治力
打卡学习神器,让你养成学霸习惯!
最新研究:母乳喂养超过三个月可降低哮喘风险
北京明年禁行“老头乐”,多地跟进治理违规电动车
面部特征揭秘男性的健康密码
1-2万公里或3-6个月,汽车空调滤芯更换指南
营养专家:鸡胸肉应作为健康饮食一部分,而非单一减肥食物
低卡高蛋白饮食全攻略:从食材到注意事项
《一如既往》:23条永恒规律揭示人类社会不变的真相
来一场杭州之旅?三种交通方式从上海前往杭州
当归羊肉、山药枸杞:冬至必喝的四款养生汤
陆海英主任解读:胆碱酯酶偏高怎么办?
党参食疗,轻松应对胆碱酯酶偏高
从游戏评论到文化符号:“希望人没事”的网络梗进化史