题目
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [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。但是内存消耗都差不多。
本文详细解析了如何通过递归算法计算二叉树的最大深度,提供了清晰的代码实现,帮助读者理解二叉树深度的计算原理及递归的应用。
599

被折叠的 条评论
为什么被折叠?



