力扣——【104. 二叉树的最大深度】

#思路

1、明确此题和数的模版虽都使用了递归思想,但是代码结构大不相同

① 二叉树的树结点定义中,属性不同

②不同于数模版中为结点添加子节点,二叉树中选择一起定义,在构建树的过程中,

使用嵌套完成,思想大差不差

2、在撰写递归函数的过程中,需要首先为函数添加返回值,然后调用函数,最后返回答案,

因为递归调用是在一次次深入过程中,得到答案,所以第二个return需要引入常数,做出改变

#代码

python 复制代码
class TreeNode:
    def __init__(self, val=0, left=None, right=None):
        self.val = val
        self.left = left
        self.right = right

from typing import Optional
class Solution:
    def maxDepth(self, root: Optional[TreeNode]) -> int:
        if root==None:
            return 0
        rd=self.maxDepth(root.right)
        ld=self.maxDepth(root.left)
        return max(rd,ld)+1
node_9 = TreeNode(9)
node_15 = TreeNode(15)
node_7 = TreeNode(7)
node_20 = TreeNode(20, node_15, node_7)
root = TreeNode(3, node_9, node_20)

# 创建 Solution 类的实例
solution = Solution()

# 调用 maxDepth 方法计算树的最大深度
depth = solution.maxDepth(root)
print(f"二叉树的最大深度是: {depth}")
相关推荐
Land03299 小时前
RPA工具选型技术指南:架构差异与实测数据
python·自动化·rpa
kafei_*9 小时前
VScode 添加 UV虚拟环境方法
vscode·python·uv
洛_尘10 小时前
Python 5:使用库
java·前端·python
m0_5967490910 小时前
如何防止SQL拼接漏洞_使用PDO对象实现安全的SQL交互
jvm·数据库·python
NorburyL10 小时前
DPO笔记
深度学习·算法
老纪的技术唠嗑局10 小时前
深度解析 LLM Wiki / Obsidian-Wiki / GBrain:Agent 时代知识的“自组织”与“自进化”
大数据·数据库·人工智能·算法
AIFQuant12 小时前
2026 全球股票/外汇/贵金属行情 API 深度对比:延迟、覆盖、价格与稳定性
python·websocket·ai·金融·mcp
Ray Liang12 小时前
吐血整理JSON-RPC2.0的原理与应用
python
㳺三才人子13 小时前
簡單的 語音助手
python·ai编程·pip
计算机毕业编程指导师13 小时前
【计算机毕设推荐】Python+Hadoop+Spark共享单车数据可视化分析系统 毕业设计 选题推荐 毕设选题 数据分析 机器学习 数据挖掘
大数据·hadoop·python·计算机·数据挖掘·spark·课程设计