LeetCode-Easy刷题(24) Balanced Binary Tree

Posted 当以乐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode-Easy刷题(24) 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



//递归  深度优先  维护深度
    public boolean isBalanced(TreeNode root) 
        return isBalancedHelp(root) >=0;
    

    public int isBalancedHelp(TreeNode root)
        if(root ==null) //递归正常结束条件
            return 0;
        
        int left = isBalancedHelp(root.left);//深度
        int right = isBalancedHelp(root.right);//同层 right
        if(left < 0 || right <0) //不平衡提前结束条件
            return -1;
        
        if(Math.abs(left - right)>1)//判断是否不平衡
            return -1;
        
        return Math.max(left, right)+1;//维护到当前节点最大深度
    


开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系

以上是关于LeetCode-Easy刷题(24) Balanced Binary Tree的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode-Easy刷题(31) Single Number

LeetCode-Easy刷题 Remove Element

LeetCode-Easy刷题(19) Same Tree

LeetCode-Easy刷题(33) Min Stack

LeetCode-Easy刷题(33) Min Stack

LeetCode-Easy刷题(26) Path Sum