[二叉树]!110. Balanced Binary Tree

题目:110. Balanced Binary Tree

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.

判定一个二叉树是否是平衡二叉树。
即二叉树所有子树深度差别都不超过1。

class Solution {
    public boolean isBalanced(TreeNode root) {
        if(root == null) return true;
        int l = Depth(root.left);
        int r = Depth(root.right);
        if( l<0 || r<0 || Math.abs(l-r)>1) return false;
        else return true;
        
    }
    public int Depth(TreeNode node){
        if(node == null) return 0;
        int l = 0, r = 0;
        if(node.left != null) l = Depth(node.left);
        if(node.right != null) r = Depth(node.right); 
        if( l<0 || r<0 || Math.abs(l-r)>1) return -1; //即该节点root下的子树已经不平衡了
        else return Math.max(l,r) + 1;     //如果左右子树是平衡的,那么返回深度+1
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目录 简书的 markdown 都不支持 [TOC] 语法……我就不贴目录了。下面按照类别,列出了29道关于二叉树...
    被称为L的男人阅读 8,627评论 0 8
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,354评论 0 33
  • 举着显示达到生酮状态的的试纸,跟丫头兴奋得说:我有了。随即我俩都大笑:这话太有歧义了。 昨天跑步的时候就感觉可能达...
    podrunner阅读 3,038评论 0 2
  • 人总是这样。别人叫你帮忙,你却说不能,自己却总是叫别人帮忙。
    water159阅读 1,697评论 0 0
  • 去年12月13日,我在北京参加了2015年度的趁早party。潇洒姐提出了三个维度的养成计划:灵魂、肉体和钱。 回...
    陈菊MZ阅读 2,905评论 3 2

友情链接更多精彩内容