欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

如何判断一棵树是否是平衡二叉树

程序员文章站 2022-05-16 14:56:46
...

1.定义

平衡二叉树是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树

2.代码实现 

public boolean IsBalanced_Solution(TreeNode root) {
 if(root == null)return true;
 return isBalanceTree(root.left) && isBalanceTree(root.right) && Math.abs(TreeDepth(root.left)-TreeDepth(root.right)) <= 1;
}
 
//获取二叉树的高度
public static int TreeDepth(TreeNode head){
 if(head == null)return 0;
 return Math.max(TreeDepth(head.left),TreeDepth(head.right)) + 1;
}