110. Balanced Binary Tree
helper函数,如果不满足条件就返回-1,如果任一子树不满足,即始终返回-1
1 public boolean isBalanced(TreeNode root) { 2 if(root == null ) { 3 return true; 4 } 5 return depth(root) >= 0; 6 } 7 8 private int depth(TreeNode root) { 9 if(root == null) { 10 return 0; 11 } 12 int left = depth(root.left); 13 int right = depth(root.right); 14 if(left == -1 || right == -1) { 15 return -1; 16 } 17 if(Math.abs(left - right) > 1) { 18 return -1; 19 } 20 return Math.max(left, right) + 1; 21 }