JZ39-平衡二叉树

平衡二叉树

https://www.nowcoder.com/practice/8b3b95850edb4115918ecebdf1b4d222?tpId=13&tags=&title=&diffculty=0&judgeStatus=0&rp=1&tab=answerKey

class Solution2 {
    public boolean IsBalanced_Solution(TreeNode root) {
        if(root==null){
            return true;
        }
        return depth(root)!=-1;
    }
    public int depth(TreeNode root){
        if(root==null){
            return 0;
        }
        int left = depth(root.left);
        if(left==-1){  //如果发现子树不平衡之后就没有必要进行下面的高度的求解了.
            return -1;
        }

        int right = depth(root.right);
        if(right==-1){ //如果发现子树不平衡之后就没有必要进行下面的高度的求解了
            return -1;
        }
        if(Math.abs(left - right) > 1){  //左右子树高度大于1,就是-1.主要判别条件
            return -1;
        }else{
            return Math.max(left,right) + 1;
        }
    }
}

全部评论

相关推荐

请hr大人把offe...:你这帖子发的左右脑互搏吗兄弟
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务