From 66a49a59b1a45e0021f8951357284814746162b2 Mon Sep 17 00:00:00 2001 From: Wonder Date: Mon, 6 Oct 2025 22:10:28 +0800 Subject: [PATCH] =?UTF-8?q?=20=F0=9F=94=84Update:=20=E4=BA=8C=E5=8F=89?= =?UTF-8?q?=E6=A0=91=E7=9A=84=E6=9C=80=E5=A4=A7=E6=B7=B1=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 二叉树/2. 二叉树的最大深度.md | 66 +++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 二叉树/2. 二叉树的最大深度.md diff --git a/二叉树/2. 二叉树的最大深度.md b/二叉树/2. 二叉树的最大深度.md new file mode 100644 index 0000000..a7f1534 --- /dev/null +++ b/二叉树/2. 二叉树的最大深度.md @@ -0,0 +1,66 @@ +# 二叉树的最大深度 + +## 题目 + +给定一个二叉树 root ,返回其最大深度。 + +二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 + + + +示例 1: + + + + + +输入:root = [3,9,20,null,null,15,7] +输出:3 +示例 2: + +输入:root = [1,null,2] +输出:2 + + +提示: + +树中节点的数量在 [0, 104] 区间内。 +-100 <= Node.val <= 100 + +## 思路 + +- 递归 + +## 代码 + +- 递归 + +```java +/** + * Definition for a binary tree node. + * public class TreeNode { + * int val; + * TreeNode left; + * TreeNode right; + * TreeNode() {} + * TreeNode(int val) { this.val = val; } + * TreeNode(int val, TreeNode left, TreeNode right) { + * this.val = val; + * this.left = left; + * this.right = right; + * } + * } + */ +class Solution { + public int maxDepth(TreeNode root) { + // Init: cur + TreeNode cur = root; + // Special + if (root == null) { + return 0; + } + // Recursion + return Math.max(maxDepth(cur.left), maxDepth(cur.right)) + 1; + } +} +``` \ No newline at end of file