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     }

 

posted @ 2016-06-10 13:46  warmland  阅读(138)  评论(0编辑  收藏  举报