剑指offer 二叉平衡树

平衡二叉树

http://www.nowcoder.com/questionTerminal/8b3b95850edb4115918ecebdf1b4d222

双重递归(利用上一题的结果)

public class Solution {
    public int TreeDepth(TreeNode root) {
        if (root == null) return 0;
        return 1 + Math.max(TreeDepth(root.left), TreeDepth(root.right));
    }

    public boolean IsBalanced_Solution(TreeNode root) {
        if (root == null) return true;
        return Math.abs(TreeDepth(root.left) - TreeDepth(root.right)) <= 1
            && IsBalanced_Solution(root.left)
            && IsBalanced_Solution(root.right);
    }
}
全部评论
您好,请问为什么不用判断左右两端大小,而只判断高度,平衡二叉树本身不也应该是二叉搜索树吗
点赞 回复 分享
发布于 2020-04-05 22:06

相关推荐

09-13 14:38
已编辑
广西大学 Java
何青司:第一个项目感觉可以写好多东西,但只是简单的罗列技术和功能,我看到一种推荐写法是使用xxx实现(或解决)xxx功能(或问题)。再可以添加一些数据,例如实习经历你写到输出相关报告,前面也提到了文档撰写,可以加上数量,数量少则可以写“梳理出8000字文档资料”。查询数据库优化和缓存策略也可以加上数据对比,我的简历就写有一条“使用Redis缓存首页用户信息列表,将接口响应时长从4.5秒优化到47毫秒左右”,数据对比就凸显出缓存的重要性了。以上只是我的一点拙见。
点赞 评论 收藏
分享
09-13 17:44
拐儿中学 Java
点赞 评论 收藏
分享
3 收藏 评论
分享
牛客网
牛客企业服务