描述
输入一棵二叉树,判断该二叉树是否是平衡二叉树。
代码
根据平衡二叉树的定义,我们可以根据求二叉树深度的算法,后序遍历求出左右子树的深度差,并做出判断
public class Solution {
private boolean isBalanced=true;
public boolean IsBalanced_Solution(TreeNode root) {
core(root);
return isBalanced;
}
public int core(TreeNode root){
if(root==null){
return 0;
}
int left=core(root.left)+1;
int right=core(root.right)+1;
if(Math.abs(left-right)>1){
isBalanced=false;
return 0;
}
return left>right?left:right;
}
}
本文介绍了一种通过后序遍历算法来判断一棵二叉树是否为平衡二叉树的方法。平衡二叉树的定义是任意节点的左右子树高度差不超过1。通过递归计算每个节点的左右子树高度并比较,最终确定整棵树是否满足平衡条件。
202

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



