LeetCode 104. 二叉树的最大深度 Java

tech2026-08-29  2

题目

给定一个二叉树,找出其最大深度。

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

说明: 叶子节点是指没有子节点的节点。

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

返回它的最大深度 3 。

思路+代码

带着深度递归,通过判断是否遍历到null,使递归到叶子节点的时候会返回深度,之后获取返回的深度的最大值就可以了。

代码:

class Solution { public int Depth(TreeNode root, int deep) { if(root==null){ return deep; }else{ return Math.max(Depth(root.left, deep+1), Depth(root.right, deep+1)); } } public int maxDepth(TreeNode root) { if(root==null){ return 0; }else{ return Depth(root,0); } } }

结果:

感觉还可以。

官方题解中,没有带着深度遍历,是在返回的时候+1。但是内存消耗都差不多。

最新回复(0)