import org.junit.Test;
public class solution {
@Test
public void testFunc(){
TreeNode root1 = new TreeNode(1);
TreeNode root2 = new TreeNode(2);
TreeNode root3 = new TreeNode(3);
TreeNode root4 = new TreeNode(4);
TreeNode root5 = new TreeNode(5);
TreeNode root6 = new TreeNode(6);
root1.left=root2;
root1.right=root3;
root2.left=root4;
root2.right=root5;
root5.left=root6;
boolean balace = isBalance(root1);
System.out.println("res: "+balace);
}
// 判断一棵树是不是平衡二叉树
public boolean isBalance(TreeNode root){
if (root==null) {
return true;
}
int diff = Math.abs(rootDepth(root.left)-rootDepth(root.right));
if (diff<-1 || diff>1) {
return false;
}
return isBalance(root.left)&&isBalance(root.right);
}
public int rootDepth(TreeNode root){
if (root==null) {
return 0;
}
return Math.max(rootDepth(root.left), rootDepth(root.right))+1;
}
}