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

【leetcode】104. 二叉树的最大深度

二叉树的最大深度

    • 题目
    • 题解
      • 解释

题目

104. 二叉树的最大深度

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

二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。
在这里插入图片描述

题解

思路:递归

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution(object):def maxDepth(self, root):""":type root: Optional[TreeNode]:rtype: int"""if root is None:return 0else:left_height = self.maxDepth(root.left)right_height = self.maxDepth(root.right)return max(left_height, right_height) + 1

解释

  • if root is None::这行代码首先检查当前节点是否为空(即是否是一个叶子节点或空树)。如果是空节点,则深度为 0。

  • left_height = self.maxDepth(root.left):如果当前节点不是空的,那么递归调用 maxDepth来计算当前节点左子树的深度。

  • right_height = self.maxDepth(root.right):同样的,递归调用 maxDepth 来计算右子树的深度。

  • return max(left_height, right_height) + 1:通过 max(left_height, right_height) 计算左右子树深度的最大值,再加 1 表示当前节点的深度。

        1/ \2   3/ \4   5
  • 对于根节点 1,我们计算其左子树(节点 2)和右子树(节点 3)的最大深度。

  • 左子树的最大深度是 3(节点 2 -> 节点 4 或节点 5),右子树的最大深度是 1(只有节点 3)。

  • 所以,最大深度是 max(3, 1) + 1 = 4。

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

相关文章:

  • Spring上下文模块设计
  • 高防IP是怎么防御的?高防IP的防御步骤又有哪些?
  • SKE 与 SM2、SM3、SM4 的关系 ,SPDM协议的详细解析
  • 【Bitcoin基础】比特币的地址格式有哪些?如何应用?
  • 如何正确评估服务器CPU/内存/IO利用率 (性能过剩or瓶颈)
  • Spring涉及的设计模式以及实际使用场景(含代码)
  • 汽车电池智造关键一环!DeviceNet转Modbus RTU网关的实战突围
  • pod重启次数过多怎么排查
  • 数据结构 散列表 学习 2025年6月12日15:30:48
  • 旧物新生,绿色领航——旧物二手回收软件开启资源循环新篇章
  • 超维智联 质胜千里:晨控 RFID 驱动汽车后视镜智造跃迁
  • 离婚房产分割折价款计算的司法裁判策略
  • 13.15 LLaMA 3+LangChain重构语法学习:可视化语法树+智能纠错让效率翻倍!
  • VScode使用npm启动项目以及npm install ,npm start报错问题处理
  • ThreadLocal原理及内存泄漏分析
  • EVNIA 27M2N3500UK显示器荣膺TÜV莱茵圆偏光认证,树立健康显示新标杆
  • Web 架构之 Kubernetes 弹性伸缩策略设计
  • CHI协议验证中的异常及边界验证
  • 输电线防山火在线监测装置:科技赋能电网安全防线
  • 泛微OAe9-自定义资源看板
  • 纯血HarmonyOS ArKTS NETX 5 打造小游戏实践:大鱼吃小鱼(附源文件)
  • G1周打卡——GAN入门
  • 考研系列—408真题操作系统篇(2015-2019)
  • 煜邦智源SNEC全球首发智慧储能系统,携手德国莱茵TÜV加速全球化布局
  • Java 中使用 Redis 注解版缓存——补充
  • Qt Creator 从入门到项目实战
  • 「pandas 与 numpy」数据分析与处理全流程【数据分析全栈攻略:爬虫+处理+可视化+报告】
  • 图论 算法1
  • 2022年TASE SCI2区,学习灰狼算法LGWO+随机柔性车间调度,深度解析+性能实测
  • 手写muduo网络库(七):深入剖析 Acceptor 类