二叉树的最大深度(LeetCode)

题目

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

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

解题

python 复制代码
# 定义二叉树节点的类
class TreeNode:
    def __init__(self, val=0, left=None, right=None):
        self.val = val
        self.left = left
        self.right = right


# 计算二叉树最大深度的函数
def maxDepth(root: TreeNode) -> int:
    # 如果当前节点为空,则深度为0
    if not root:
        return 0

    # 递归计算左子树和右子树的深度
    left_depth = maxDepth(root.left)
    right_depth = maxDepth(root.right)

    # 返回左子树和右子树深度的较大者 + 1
    return max(left_depth, right_depth) + 1


# 创建二叉树
root = TreeNode(3)
root.left = TreeNode(9)
root.right = TreeNode(20, TreeNode(15), TreeNode(7))

# 计算最大深度
depth = maxDepth(root)
print(depth)  # 输出 3
相关推荐
hetao1733837几秒前
2026-08-27~29 hetao1733837 的刷题记录
c++·算法
轮到我狗叫了10 分钟前
Slurm如何使用
人工智能·python·深度学习·机器学习
云淡风轻~窗明几净18 分钟前
宇宙管理学猜想
算法·图论
春风解人意24 分钟前
从零开始学习嵌入式P28----线程
c语言·学习·算法
luj_176827 分钟前
合法避税与投资评估实战指南
c语言·开发语言·网络·经验分享·算法
Ali885201 小时前
Python列表增删改查速查表和详细演示
python
新时代牛马1 小时前
softirq 与tasklet:从irq_exit 到__do_softirq 的下半部路径
python
tqs_123451 小时前
值传递与引用传递
java·开发语言·python
YsyaaabB1 小时前
Deep Agents 实战课程
python·langchain
金銀銅鐵1 小时前
斐波那契数列中连续10项的和总是能被11整除吗?
python·数学