LeetCode Balanced Binary Tree

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


阅读更多
文章标签: java leetcode DFS
个人分类: 算法/oj
想对作者说点什么? 我来说一句

leetcode的题目:Balanced Binary Tree

2014年10月14日 145KB 下载

没有更多推荐了,返回首页

不良信息举报

LeetCode Balanced Binary Tree

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭