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

104.二叉树的最大深度

104. 二叉树的最大深度 - 力扣(LeetCode)

给定一个二叉树 root ,返回其最大深度。

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

示例 1:

输入:root = [3,9,20,null,null,15,7]
输出:3

示例 2:

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

提示:

  • 树中节点的数量在 [0, 104] 区间内。
  • -100 <= Node.val <= 100

解题思路

递归算法

计算当前节点的左子树最大深度和右子树最大深度

选取二者中最大值作为该结点的子树最大深度值

那么该结点的最大深度则是其子树最大深度值 + 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) {// 终止条件// 如果当前节点为空,深度为 0if(root == null){return 0;}// 单层递归逻辑int leftDepth = maxDepth(root.left);int rightDepth = maxDepth(root.right);return Math.max(leftDepth, rightDepth) + 1;}
}

这是我整理的笔记,目前还在学习阶段,文章中可能有错误和不足,欢迎大家斧正!

http://www.xdnf.cn/news/1169209.html

相关文章:

  • API是什么,如何保障API安全?
  • 刀客doc:Netflix与YouTube开始在广告战场正面交锋
  • [学习] 笛卡尔坐标系的任意移动与旋转详解
  • 洛谷 B3939:[GESP样题 四级] 绝对素数 ← 素数判定+逆序整数
  • 深入解析 Pandas:Python 数据分析的强大工具
  • Jenkins接口自动化测试(构建)平台搭建
  • Kafka监控体系搭建:基于Prometheus+JMX+Grafana的全方位性能观测方案
  • NLP自然语言处理的一些疑点整理
  • JavaScript AJAX 实现,演示如何将 Token 添加到 Authorization
  • 怎么在Mac系统中使用不坑盒子?
  • 交叉编译opencv(Cpp)于arm64架构开发板上
  • .NET使用EPPlus导出EXCEL的接口中,文件流缺少文件名信息
  • 【n8n教程笔记——工作流Workflow】文本课程(第一阶段)——1、导航编辑器界面(Navigating the editor UI)介绍
  • numpy库的基础知识(二)
  • 理解后端开发中的API设计原则
  • 达梦数据库表字段增加时报错[-2106]:无效的表或视图名,[-2116]:列[IS_REPEAT]已存在
  • [3-02-02].第04节:开发应用 - RequestMapping注解的属性2
  • 支付网关系统前后端鉴权方案
  • 网络原理 HTTP 和 HTTPS
  • 代码检测SonarQube+Git安装和规范
  • Uni-App:跨平台开发的终极解决方案
  • uniapp打开导航软件并定位到目标位置的实现
  • 当直播间告别“真人时代”:AI数字人重构商业新秩序
  • uni-calendar自定义签到打卡颜色
  • Apache Ignite 中的 SQL 模式(Schema)管理机制
  • 使用python中的pymysql库,并且转化为数组元组数据
  • adb的使用
  • Leetcode—692. 前K个高频单词【中等】(桶排序)
  • Linux的磁盘存储管理实操——(下一)——标准分区扩容
  • Ajax第一天