public boolean IsBalanced_Solution(TreeNode root) {
if(root==null){
return true;
}
int left=getHeight(root.left);
int right=getHeight(root.right);
if(Math.abs(left-right)>1){
return false;
}
return IsBalanced_Solution(root.left)&&IsBalanced_Solution(root.right);
}
public int getHeight(TreeNode node){
if(node==null){
return 0;
}
int left=getHeight(node.left);
int right=getHeight(node.right);
return 1+(left>right?left:right);
}
判断是不是平衡二叉树(左右子树高度不能超过1)
该博客主要介绍了如何判断一棵二叉树是否平衡,通过递归计算左右子树的高度并比较它们的差值来实现。如果差值大于1,则树不平衡;反之则平衡。同时,提供了获取树高度的辅助函数,返回以节点为根的子树的最大深度。
3899

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



