用Java写出计算一颗二叉树深度的算法
时间: 2024-12-13 09:21:21 浏览: 3
在Java中,你可以通过递归的方式来计算一棵二叉树的深度。二叉树的深度就是从根节点到最远叶子节点的距离。下面是一个简单的递归算法:
```java
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int val) {
this.val = val;
}
}
public int maxDepth(TreeNode root) {
if (root == null) {
return 0; // 如果根节点为空,返回0
} else {
// 计算左子树和右子树的最大深度,然后取较大者加一
int leftDepth = maxDepth(root.left);
int rightDepth = maxDepth(root.right);
return Math.max(leftDepth, rightDepth) + 1;
}
}
```
这个`maxDepth`函数首先检查当前节点是否为空,如果为空则返回0。然后分别计算左子树和右子树的最大深度,最后返回两者中的最大值加1,这是因为我们需要加上当前节点自身的高度。
阅读全文