码迷,mamicode.com
首页 > 编程语言 > 详细

Java 二叉树深度 判断平衡二叉树

时间:2017-10-13 13:58:52      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:cookie   logs   tree   style   value   div   package   class   amp   

package cookie;

public class BTreeDepthIsBalanced {
    int depth(BNode head) {
        if (head == null) {
            return 0;
        }
        int left = depth(head.left);
        int right = depth(head.right);
        return left > right ? left + 1 : right + 1;
    }

    boolean isBalanced(BNode head) {
        if (head == null) {
            return true;
        }
        int left = depth(head.left);
        int right = depth(head.right);
        int diff = left - right;
        if (diff > 1 || diff < -1) {
            return false;
        }
        return isBalanced(head.left) && isBalanced(head.right);
    }
}

class BNode {
    int value;
    BNode left;
    BNode right;
}

以上每个节点被遍历多次。

Java 二叉树深度 判断平衡二叉树

标签:cookie   logs   tree   style   value   div   package   class   amp   

原文地址:http://www.cnblogs.com/chenhuanBlogs/p/7660414.html

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