news 2026/6/10 16:52:46

【LeetCode刷题】二叉树的最大深度

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【LeetCode刷题】二叉树的最大深度

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

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

示例 1:

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

示例 2:

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

提示:

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

解题思路

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

递归(深度优先搜索,DFS):利用 “分治思想”,树的最大深度 = 左子树最大深度与右子树最大深度的较大值 + 1(根节点本身);

Python代码

from typing import Optional class TreeNode: def __init__(self, val=0, left=None, right=None): self.val = val self.left = left self.right = right class Solution: def maxDepth(self, root: Optional[TreeNode]) -> int: # 递归终止条件:空节点的深度为0 if not root: return 0 # 递归计算左、右子树的最大深度 left_depth = self.maxDepth(root.left) right_depth = self.maxDepth(root.right) # 当前树的最大深度 = 子树最大深度 + 1(当前根节点) return max(left_depth, right_depth) + 1 if __name__ == "__main__": sol = Solution() # 示例1:构建树 [3,9,20,null,null,15,7] → 预期输出:3 root1 = TreeNode(3) root1.left = TreeNode(9) root1.right = TreeNode(20) root1.right.left = TreeNode(15) root1.right.right = TreeNode(7) print("示例1输出:", sol.maxDepth(root1)) print("预期结果:3") # 示例2:构建树 [1,null,2] → 预期输出:2 root2 = TreeNode(1) root2.right = TreeNode(2) print("示例2输出:", sol.maxDepth(root2)) print("预期结果:2")

LeetCode提交代码

# Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.right = right class Solution: def maxDepth(self, root: Optional[TreeNode]) -> int: if not root: return 0 left_depth = self.maxDepth(root.left) right_depth = self.maxDepth(root.right) return max(left_depth, right_depth) + 1

程序运行截图展示

总结

本文介绍了计算二叉树最大深度的递归解法。最大深度定义为从根节点到最远叶子节点的最长路径上的节点数。采用分治思想,将问题分解为计算左右子树的最大深度,取较大值加1(当前节点)作为结果。Python实现使用深度优先搜索(DFS)递归方法,当节点为空时返回0,否则递归计算左右子树深度并返回较大值+1。示例验证了代码的正确性,如[3,9,20,null,null,15,7]输出3,[1,null,2]输出2。该方法简洁高效,时间复杂度O(n)。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:14:26

Qwen-Image-2512如何提升生成质量?试试这几种方法

Qwen-Image-2512如何提升生成质量&#xff1f;试试这几种方法 本文由 源码七号站 原创整理&#xff0c;转载请注明出处。你是否也遇到过这样的情况&#xff1a;明明写了一段很用心的提示词&#xff0c;可生成的图片却总差一口气——人物眼神空洞、手部结构错乱、文字模糊变形、…

作者头像 李华
网站建设 2026/6/10 14:22:42

YOLOE官方镜像部署踩坑记录,这些错误别再犯

YOLOE官方镜像部署踩坑记录&#xff0c;这些错误别再犯 刚拿到YOLOE官版镜像时&#xff0c;我满心期待——开放词汇检测、零样本分割、实时推理&#xff0c;光看文档描述就让人兴奋。可真正开始跑通第一个预测命令时&#xff0c;却接连卡在五个看似简单实则隐蔽的环节上&#…

作者头像 李华
网站建设 2026/6/10 11:58:52

Clawdbot实战指南:Qwen3:32B模型热切换与负载均衡配置方法

Clawdbot实战指南&#xff1a;Qwen3:32B模型热切换与负载均衡配置方法 1. Clawdbot平台概览&#xff1a;不只是网关&#xff0c;更是AI代理的控制中心 Clawdbot 不是一个简单的API转发工具&#xff0c;而是一个面向开发者的AI代理网关与管理平台。它把原本分散在不同服务中的…

作者头像 李华
网站建设 2026/6/10 11:45:24

AI流体模拟3大突破:DeepCFD实现计算效率千倍提升的技术详解

AI流体模拟3大突破&#xff1a;DeepCFD实现计算效率千倍提升的技术详解 【免费下载链接】DeepCFD DeepCFD: Efficient Steady-State Laminar Flow Approximation with Deep Convolutional Neural Networks 项目地址: https://gitcode.com/gh_mirrors/de/DeepCFD 在航空航…

作者头像 李华
网站建设 2026/6/10 0:27:41

探索ComfyUI视频创作插件:从静态图像到动态影像的创意之旅

探索ComfyUI视频创作插件&#xff1a;从静态图像到动态影像的创意之旅 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper 在数字创作的浪潮中&#xff0c;视频内容已成为表达创意的核心载体。然而&…

作者头像 李华