码迷,mamicode.com
首页 > 其他好文 > 详细

Leetcode-Balanced Binary Tree

时间:2014-11-09 00:55:08      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   ar   sp   for   div   on   

Given a binary tree, determine if it is height-balanced.

For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ by more than 1.

Solution:

 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         if (root==null)
13             return true;
14         
15         int depth = isBalancedRecur(root);
16         if (depth==-1)
17             return false;
18         else 
19             return true;
20         
21     }
22     
23     public int isBalancedRecur(TreeNode curNode){
24         if (curNode.left==null&&curNode.right==null)
25             return 1;
26         
27         int left=0;
28         int right=0;
29         if (curNode.left!=null)
30             left = isBalancedRecur(curNode.left);
31         if (left==-1)
32             return -1;
33         if (curNode.right!=null)
34             right = isBalancedRecur(curNode.right);
35         if (right==-1)
36             return -1;
37         
38         if (left-right>1 || left-right<-1)
39             return -1;
40         else {
41             if (left>right)
42                 return left+1;
43             else
44                 return right+1;
45         }
46         
47     }
48 }

This is a recursive problem. Get the depth of the left child tree and the right child tree, if they are not balanced, then return -1 to indicate that unbalance is found. If get -1 from any of the two child trees, then return -1 immediately.

Leetcode-Balanced Binary Tree

标签:style   blog   io   color   ar   sp   for   div   on   

原文地址:http://www.cnblogs.com/lishiblog/p/4084231.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!