码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode 110. Balanced Binary Tree 递归求解

时间:2016-02-24 09:43:13      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

   题目链接:https://leetcode.com/problems/balanced-binary-tree/ 

110. Balanced Binary Tree

My Submissions
Total Accepted: 97926 Total Submissions: 292400 Difficulty: Easy

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

Show Tags
Show Similar Problems
Have you met this question in a real interview? 
Yes
 
No

Discuss


    判断一棵树是否是平衡二叉树。BST的递归定义:当一棵树的左右两棵子树的高度只差不超过1,那么该树是平衡二叉树。

    用后根遍历求解。先计算两棵子树的高度差。

    我的AC代码

public class BalancedBinaryTree {
	static boolean ok = true;
	
	public static void main(String[] args) {
		TreeNode n1 = new TreeNode(1);
		TreeNode n2 = new TreeNode(2);
		n1.left = n2;
		System.out.println(isBalanced(n1));
	}

	public static boolean isBalanced(TreeNode root) {
        ok = true;
        dfs(root);
        return ok;
    }
	
	public static int dfs(TreeNode root) {
		if(root == null || !ok) return 0;
		int ha = dfs(root.left);
		int hb = dfs(root.right);
		
		if(Math.abs(ha - hb) > 1) ok = false;
		return Math.max(ha, hb) + 1;
	}
}


LeetCode 110. Balanced Binary Tree 递归求解

标签:

原文地址:http://blog.csdn.net/bruce128/article/details/50724073

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!