二叉树的最大深度(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
相关推荐
2601_958352908 分钟前
还要写 AEC 算法?0 代码 + 6 个引脚,F-18 让通话清晰度提升 300%
人工智能·算法·降噪消回音
happyprince10 分钟前
03-regmix-深刻观-哲学与升华
算法
zcmodeltech11 分钟前
火电厂模型能演示冷态启动和故障处理吗?——基于STM32与Modbus RTU的集控实训控制系统设计
数据结构·stm32·单片机·嵌入式硬件·能源
babe小鑫11 分钟前
生物统计学专业校招:SAS、R、Python学习顺序实用指南
python·学习·r语言
一路向阳~负责的男人12 分钟前
运动控制算法收录
算法
czt_java12 分钟前
5个核心位运算公式
算法
vx_Biye_Design13 分钟前
springboot游泳馆系统93765-计算机课程设计、毕业设计
java·javascript·spring boot·后端·python·spring·课程设计
固定资产管理系统软件30 分钟前
该去哪里找专业靠谱的智慧智能设备固定资产管理系统?
人工智能·python
Doubbbbbbble云40 分钟前
区间合并问题的常见算法模式与优化思路4
java·数据结构·算法
ctlover41 分钟前
LangChain 概述
python·langchain