标签:
题目:
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.
分析:递归的深搜,注意及时判断子树的高度差是否为1
代码:
public boolean isBalanced(TreeNode root) { if(root==null){ return true; } int intResult = caleDeep(root,1); if(intResult == 0){ return false; }else{ return true; } } public int caleDeep(TreeNode root,int intDeep){ if(intDeep == 0){ return 0; } if(root==null){ return intDeep; } intDeep++; int DeepL = caleDeep(root.left,intDeep); int DeepR = caleDeep(root.right,intDeep); if(DeepL-DeepR > 1 || DeepR-DeepL > 1 ){ return 0; }else{ return DeepL>DeepR?DeepL:DeepR; } }
[LeetCode]: 110: Balanced Binary Tree
标签:
原文地址:http://www.cnblogs.com/savageclc26/p/4878283.html