check if a tree is balanced
public int getHeight (TreeNode root) {
if (root == null) return 0;return Math.max(getHeight (root.left), getHeight(root.right)) + 1;
}
public boolean checkBalance(TreeNode root) {
if (root == null) return true;
int left = getHeight(root.left);
int right = getHeight(root.right);
int diff = Math.abs(left - right);
if (diff > 1){
return false;
} else {
return checkBalance(root.right)&&checkBalance(root.left);
}
}