您的位置:首页 > 其它

LeetCode Balanced Binary Tree

2015-07-07 09:19 148 查看
Description:

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:

先dfs求出每个节点的做右子树的深度,然后想减大于1就表示不平衡,用一个“全局”的布尔类型变量记录一下。

import java.util.*;

public class Solution {
boolean flag = true;

public boolean isBalanced(TreeNode root) {
depth(root);
return flag;
}

int depth(TreeNode root) {
if (root == null)
return 0;
int left_dep = depth(root.left);
int right_dep = depth(root.right);
if (Math.abs(left_dep - right_dep) > 1)
flag = false;
return Math.max(left_dep, right_dep) + 1;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: