【104-Maximum Depth of Binary Tree(二叉树的最大深度)】
【LeetCode-面试算法经典-Java实现】【所有题目目录索引】
原题
Given a binary tree, find its maximum depth.
The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.
题目大意
给定一棵两叉树,求它的最大深度。
解题思路
递归求解,递归公式
f(n) = 0; n=null,
f(n) = 1+ max(f(n左), f(n右))
代码实现
树结点类
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) {
val = x;
}
}
算法实现类
public class Solution {
public int maxDepth(TreeNode root) {
if (root == null) {
return 0;
} else if (root.left == null && root.right == null) {
return 1;
} else {
int left = maxDepth(root.left);
int right = maxDepth(root.right);
return 1 + (left > right ? left : right);
}
}
}
评测结果
点击图片,鼠标不释放,拖动一段位置,释放后在新的窗口中查看完整图片。

本文介绍了一种求解二叉树最大深度的经典算法。通过递归方式计算从根节点到最远叶节点的最长路径上的节点数。文章提供了详细的递归公式及Java实现代码。
1070

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



