//求二叉树的最大深度
public int maxDepth(TreeNode root) {
if(root == null) return 0;
int left = 0;
int right = 0;
left = maxDepth(root.left) + 1;
right = maxDepth(root.right) + 1;
return left > right ? left : right;
}
public boolean isBalanced(TreeNode root) {
if(root == null) return true;
// 求出左右子树的高度
int left = maxDepth(root.left);
int right = maxDepth(root.right);
//返回他们相减后大小是不是小于等于1的 并且再判断 root的左右子树的子树
return Math.abs(left - right) <= 1 && isBalanced(root.left) &&
isBalanced(root.right);
}
检验一颗树是否为平衡二叉树
最新推荐文章于 2025-12-05 17:02:52 发布
本文介绍了一个用于计算二叉树最大深度的方法,并提供了一种检查二叉树是否为平衡二叉树的实现。通过递归方式,分别计算左子树和右子树的深度,最终确定整棵树的最大深度。
1153

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



