Labuladong刷题笔记:动态规划系列(1)

动态规划设计:最长递增子序列

Posted by LH on November 11, 2025

题目

(此处填写题目名称,例如:LeetCode 104. 二叉树的最大深度)


题目描述

(此处粘贴题目的详细描述)

示例: 给定二叉树 [3,9,20,null,null,15,7],

3    / \   9  20
/  \    15   7

返回它的最大深度 3 。


思路

(此处详细阐述您解决问题的核心思路、算法思想,例如:深度优先搜索 (DFS) 或广度优先搜索 (BFS))

  1. 定义: 首先,明确递归函数的定义…
  2. 终止条件: 确定递归的终止条件…
  3. 递归逻辑: 描述单层递归需要做什么…

图解

(此处可以使用图片来辅助说明您的思路,例如:递归过程的堆栈图)

思路图解 图1:递归过程示意图


代码

(此处粘贴您最终的、可运行的代码,并可以添加关键行的注释)

# 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:
        # (此处粘贴您的代码实现)
        pass

提交结果

(此处可以截图并展示您在 LeetCode 上的提交结果)

提交结果截图 图2:LeetCode 提交结果