开始时,想是否先判断它是不是二叉搜索树,后来发现只要满足下面条件就可以了。
它的左子树和右子树的深度之差(平衡因子)的绝对值不超过1,且它的左子树和右子树都是一颗平衡二叉树
//import java.util.math;
public class Solution {
boolean flag;
public boolean IsBalanced_Solution(TreeNode root) {
if(root==null)
return true;
flag=true;
int m=dfs(root);
return flag;
}
int dfs(TreeNode tree){
if(tree==null)
return 0;
int l=dfs(tree.left);
int r=dfs(tree.right);
if(Math.abs(l-r)>1)
flag=false;
return Math.max(l,r)+1;
}
}