首页 > 其他分享 >110. 平衡二叉树

110. 平衡二叉树

时间:2023-07-30 20:32:04浏览次数:46  
标签:right self height 110 二叉树 平衡 root left

给定一个二叉树,判断它是否是高度平衡的二叉树。

本题中,一棵高度平衡二叉树定义为:

一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。

示例 1:

110. 平衡二叉树_二叉树

输入:root = [3,9,20,null,null,15,7]
输出:true
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def isBalanced(self, root: Optional[TreeNode]) -> bool:
        def height(root):
            if root is None:
                return 0
            left_height = height(root.left)
            right_height = height(root.right)
            if left_height == -1 or right_height == -1 or abs(left_height-right_height) > 1:
                return -1
            else:
                return max(left_height, right_height)+1
        
        return height(root)>=0

想到了用树的深度那个可以解决这个问题,从底开始计算


标签:right,self,height,110,二叉树,平衡,root,left
From: https://blog.51cto.com/u_16123878/6902291

相关文章

  • 树与二叉树
    树的概念:根有子节点,子节点又是一个子树的根T1,T2,T3换一个顺序就不是原来的树了,就称为有序树,T1,T2,T3换一个顺序就还是原来的树,就称为无序树二叉树不是树的特殊情况,二叉树中的一个结点必须表明该结点是左节点还是右节点,即便它没有兄弟结点。而树不必区分左右。  二叉......
  • 104. 二叉树的最大深度
    给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],3/\920/\157返回它的最大深度 3。#Definitionforabinarytreenode.......
  • 二叉树的广度优先遍历
    二叉树的广度优先遍历层序遍历设二叉树的根节点所在层数为第一层,层序遍历就是从二叉树的根节点出发,先访问第一层的根节点,然后从左到右访问第2层上的节点,以此类推,自上而下,自左至右逐层访问树的结点的过程就是层序遍历。要想用代码实现队列的层序遍历我们需要借助队列:1、先把根......
  • 101. 对称二叉树
    给你一个二叉树的根节点 root ,检查它是否轴对称。示例1:输入:root=[1,2,2,3,4,4,3]输出:true示例2:输入:root=[1,2,2,null,3,null,3]输出:false#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,val=0,left=None,right=None):#s......
  • 二叉树某个节点的深度
    微信公众号:码云成化关注可了解更多的教程及进阶技巧。问题或建议,请公众号留言;如果你觉得阿云对你有所帮助,欢迎赞赏深度的定义[当前结点的层数。默认叶子节点是null节点,深度是0。其子节点是null节点,深度是1。]普通二叉树给出上图一个普通二叉树,如果计算结点深度,......
  • FX110讯:违反初始保证金相关要求!BDSwiss遭CySEC罚款10 万欧
    塞浦路斯证券交易委员会(CySEC)周四宣布对塞浦路斯投资公司BDSwissHoldingLtd处以10万欧元罚款。该公司是货币对和差价合约(CDF)经纪商BDSwiss的运营商,持有塞浦路斯投资公司(CIF)牌照。该监管机构表示,此次罚款是因为该公司未遵守2021年初始保证金和风险警示的强制性要求。据悉,该公司允......
  • 【阅读笔记】一种暗通道优先的快速自动白平衡算法
    解决问题:自动白平衡算法中存在白色区域检测错误导致白平衡失效的问题,作者提出了一种基于暗通道优先的白平衡算法。算法思想:图像中白色区域或者高饱和度区域的光线透射率较低,根据以上特性利用暗通道法计算图像中白色区域。算法概述:作者使用何凯明提出的基于暗通道优先的方法......
  • 03-二叉树的遍历
    二叉树的遍历定义:遍历是数据结构中的常见操作把所有元素都访问一遍线性数据结构的遍历比较简单分为:正序遍历和逆序遍历根据结点访问顺序的不同,二叉树的常见遍历方式有4种前序遍历(PreorderTraversal)中序遍历(inorderTraversal)后序遍历(PostorderTraversal)层序遍......
  • FX110 : 为什么有了交易系统好几年了,还一直亏钱?
    为什么有了交易系统好几年了,却一直还是亏钱?这个问题其实很简单,如果你有交易系统,却一直无法实现盈利,要么就是交易系统本身存在问题,但是你不知道;要么就是人出了问题。那么我们就从这两个方面来好好分析一下,到底问题出在哪。一、如果是交易系统出了问题,一般是这两个方面:1、你的交易系......
  • 无旋平衡树(范浩强Treap)平均时间复杂度证明
    范浩强Treap是一种应用广泛的数据结构(可参考OI_Wiki),然而网上难以找到比较严谨的复杂度证明.本文将严格证明\(n\)个结点的Treap的期望树高为\(\Theta(\logn)\),由于一次分裂或合并操作的递归深度恰为树高,这便说明了一次操作的平均时间复杂度为\(\Theta(\logn)\).首先,由......