当前位置: 首页 > news >正文

LeetCode热题100--104. 二叉树的最大深度--简单

1. 题目

给定一个二叉树 root ,返回其最大深度。
二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。

示例 1:
在这里插入图片描述
输入:root = [3,9,20,null,null,15,7]
输出:3

示例 2:
输入:root = [1,null,2]
输出:2

2. 题解

/*** 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;}else{int left = maxDepth(root.left);int right = maxDepth(root.right);return Math.max(left,right)+1;}}
}

3. 解析

  1. public int maxDepth(TreeNode root): 这是主方法,它接受一个类型为TreeNode的参数root。这个参数表示二叉树的根节点。

  2. if(root == null){return 0;}: 如果输入的根节点(也就是整个二叉树)不存在,那么返回深度0。在计算最大深度时,空树被认为是深度为0的。

  3. else{…}: 如果树不为空,就执行以下操作:

  • int left = maxDepth(root.left);: 这行代码递归地计算左子树的最大深度。它通过调用maxDepth()函数并传入根节点的左孩子作为参数来实现。
  • int right = maxDepth(root.right);: 这行代码也做类似的事情,但是针对右子树。
  • return Math.max(left, right) + 1;: 最后,这个函数返回左子树和右子树的最大深度加上根节点本身的一层深度(由于我们从根节点开始一级一级的深入到叶子节点的位置计算深度,所以这里加1表示在计算完成后,我们要向上走一步回到父节点,因此深度+1。)
http://www.xdnf.cn/news/1320373.html

相关文章:

  • Rust:实现仅通过索引(序数)导出 DLL 函数的功能
  • STM32单片机学习日记
  • 网络常识-SSE对比Websocket
  • 记一次安装OpenStack(Stein)-nova报错问题解决
  • 数据赋能(396)——大数据——抽象原则
  • 智能汽车领域研发,复用云原生开发范式?
  • 48.Seata认识、部署TC服务、微服务集成
  • http工作流程
  • C++算法竞赛:位运算
  • 前端项目练习-王者荣耀竞赛可视化大屏 -Vue纯前端静态页面项目
  • 服务器管理与配置学习总结
  • MYSQL-175. 组合两个表
  • JavaScript性能优化实战(四):资源加载优化
  • LeetCode 837.新 21 点:动态规划+滑动窗口
  • 【数据结构】堆和二叉树详解——上
  • 旋钮键盘项目---foc讲解(闭环位置控制)
  • 学习Python中Selenium模块的基本用法(5:程序基本步骤)
  • Linux817 shell:until,nfs,random
  • 力扣438:找到字符串中所有的字母异位词
  • Django前后端交互实现用户登录功能
  • [python学习记录2]变量
  • 脉冲计数实现
  • Docker之自定义jkd镜像上传阿里云
  • 排列组合+数量+资料
  • 25. 能否创建一个包含可变对象的不可变对象
  • 编程算法实例-Armstrong数(阿姆斯特朗数)
  • IDE/去读懂STM32CubeMX 时钟配置图(有源/无源晶振、旁路/晶振模式、倍频/分频)
  • 负载测试与压力测试详解
  • Rust Async 异步编程(五):执行器和系统 I/O
  • Spring 创建 Bean 的 8 种主要方式