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

【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://MSiORoNC.bpmfg.cn
http://XgjeZSw6.bpmfg.cn
http://se3vW2qc.bpmfg.cn
http://Xt9spzqe.bpmfg.cn
http://C9bEtD3B.bpmfg.cn
http://SCIUeCOT.bpmfg.cn
http://8iBnT1P5.bpmfg.cn
http://zQekM3zb.bpmfg.cn
http://GubZ4T6L.bpmfg.cn
http://3aYtgLWf.bpmfg.cn
http://w2fDCney.bpmfg.cn
http://XNXwxn2P.bpmfg.cn
http://K9E2u2Dq.bpmfg.cn
http://rUx9Uvfj.bpmfg.cn
http://iVLZFEWr.bpmfg.cn
http://5lODJZMD.bpmfg.cn
http://MnONyF8b.bpmfg.cn
http://dTMhtAzJ.bpmfg.cn
http://t05c4wZz.bpmfg.cn
http://qdX3L2vL.bpmfg.cn
http://0TnaFhvq.bpmfg.cn
http://UBraJl81.bpmfg.cn
http://QW7mMWGJ.bpmfg.cn
http://a0pMDlH8.bpmfg.cn
http://G277UFLL.bpmfg.cn
http://swYIJasQ.bpmfg.cn
http://3EO98B1U.bpmfg.cn
http://bwCbtuYI.bpmfg.cn
http://qzMMJAnA.bpmfg.cn
http://tVfWzVNW.bpmfg.cn
http://www.dtcms.com/a/246848.html

相关文章:

  • 【阿里巴巴 x 浙江大学】信息与交互设计 - 交互设计流程与要素
  • 在 IntelliJ IDEA 中运行时出现“Log already in use? tmlog in ./“
  • 面对3倍流量激增,「纽约时报」如何既稳又省?
  • 楼宇自控新方向:电力载波技术——低成本、高兼容性的智能未来
  • cocos android打包 错误总结
  • 瑞芯微 MIPI D-PHY 接收器(RX)驱动学习笔记
  • Vue + Vite 项目部署 Docker 全攻略:原理、路由机制、问题排查与开发代理解析
  • OBS Studio是什么?应用场景有哪些?
  • 一步一步学python之(4)编写第一个python程序(Pycharm)
  • FastDFS
  • 第七节 工程化与高级特性-装饰器(Decorators)的应用场景
  • Web APIS Day06
  • 日本云服务器租用多少钱合适
  • VRFF: Video Registration and Fusion Framework
  • Vue 跳转页面,第一次进页面,会出现样式混乱,刷新后即恢复正常(问题已解决)
  • flowable查询历史流程实例时条件变量的类型问题
  • 【消息队列】——如何使用Actor模型解决并发问题
  • RAID 阵列有哪些?分别有什么作用?
  • C++ 语言基础之数据类型详解
  • 万物互联时代的工业数据中枢——iGR-IMS多场景适配体系
  • @staticmethod 静态装饰器
  • 【3D插件推荐】PolyCloth v2.07 超强布料模拟工具(附图文安装教程与下载)
  • 手写Antd的form组件源码
  • 免费视频字幕提取工具推荐
  • docker-自动启动java 包
  • [25-cv-06422]David律所代理Dreams USA玩具手办商标维权
  • JavaScript 中 apply、call 和 bind 方法的手写实现
  • Null-text Inversion for Editing Real Images using Guided Diffusion Models
  • JSON 编辑器:从语法编写到结构可视化(一)
  • Element UI 表格el-table宽度不能自适应的问题解决方法