关闭

LeetCode Balanced Binary Tree

标签: javaleetcodeDFS
116人阅读 评论(0) 收藏 举报
分类:

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;
	}
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:67247次
    • 积分:3299
    • 等级:
    • 排名:第10607名
    • 原创:288篇
    • 转载:0篇
    • 译文:0篇
    • 评论:4条
    最新评论