您的位置:首页 > 其它

110. Balanced Binary Tree

2016-03-12 14:29 471 查看
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.

Subscribe to see which companies asked this question

Hide Tags
Tree Depth-first Search

Hide Similar Problems
(E) Maximum Depth of Binary Tree

/**
* Definition for binary tree
* public class TreeNode {
*     int val;
*     TreeNode left;
*     TreeNode right;
*     TreeNode(int x) { val = x; }
* }
*/
public class Solution {
public boolean isBalanced(TreeNode root) {
if (depth(root) == -1)
return false;
return true;
}

private int depth(TreeNode root) {
if (root == null)
return 0;
int left = depth(root.left);
int right = depth(root.right);
// If any subtree fails, all parent nodes should fail. No need to calculate depth.
if (left == -1 || right == -1 || Math.abs(left-right) > 1)
return -1;
return Math.max(left,right)+1;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: