Balanced Binary Tree
^_^
Recursive
public boolean isBalanced(TreeNode root) {
return helper(root) != -1;
}
private int helper(TreeNode root){
if(root == null) return 0;
else {
int left = helper(root.left), right = helper(root.right);
if(left == -1 || right == -1) return -1;
else return Math.abs(left - right) <= 1 ? Math.max(left, right) + 1 : -1;
}
}
Stack