開始時,想是否先判斷它是不是二叉搜索樹,後來發現只要滿足下面條件就可以了。
它的左子樹和右子樹的深度之差(平衡因子)的絕對值不超過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;
}
}