JasonChang

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
 1 /**
 2  * Definition for binary tree
 3  * public class TreeNode {
 4  *     int val;
 5  *     TreeNode left;
 6  *     TreeNode right;
 7  *     TreeNode(int x) { val = x; }
 8  * }
 9  */
10 public class Solution {
11     public boolean isBalanced(TreeNode root) {
12         // IMPORTANT: Please reset any member data you declared, as
13         // the same Solution instance will be reused for each test case.
14         if (root == null)
15             return true;
16         if (Math.abs(getHeight(root.left)- getHeight(root.right)) > 1)
17             return false;
18         return isBalanced(root.left) && isBalanced(root.right);
19     }
20     private int getHeight(TreeNode root){
21         if(root == null)
22             return 0;
23         return Math.max(getHeight(root.left), getHeight(root.right)) + 1;
24     }
25 }

 

posted on 2013-11-11 16:07  JasonChang  阅读(179)  评论(0编辑  收藏  举报