当前位置: 首页 > news >正文

LeetCode 110. 平衡二叉树

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

  • 二叉平衡树的左右子树高度相差不超过1,且左右子树均是二叉平衡树
  • 二叉平衡树是所有结点的左右子树高度差均不超过1的二叉树

主要考对二叉平衡树的概念

# 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:# 二叉平衡树的左右子树高度相差不超过1,且左右子树均是二叉平衡树# 二叉平衡树是所有结点的左右子树高度差均不超过1的二叉树return self.judge(root)[0]def judge(self, root):if not root:return True, 0left_judge, left_height = True, 0if root.left:left_judge, left_height = self.judge(root.left)right_judge, right_height = True, 0if root.right:right_judge, right_height = self.judge(root.right)return (left_judge and right_judge and abs(left_height - right_height) < 2,max(left_height, right_height) + 1,)

http://www.mrgr.cn/news/57312.html

相关文章:

  • Spring Boot 整合 RocketMQ 之消息消费手动提交 ACK 实战【案例分享】
  • Artistic Oil Paint 艺术油画着色器插件
  • 微信小程序上传图片添加水印
  • kotlin 入门总结
  • STM32+CubeMX -- 开发辅助工具
  • Vue -- 总结 11
  • 滑动窗口与TCP的缓冲区(buff)的关系
  • 四向车西门子PLC1200脉冲控制伺服与总线型控制方式思考
  • 【排序】快排思想以及例子
  • JavaScript 第30章:综合项目
  • “摄像机”跟随及攻击抖动实现
  • Linux基础IO
  • Android Handler(Looper.getMainLooper()),Kotlin
  • priority_queue (优先级队列的使用和模拟实现)
  • K折交叉验证代码实现——详细注释版
  • IPC 信号-Signal Linux环境
  • 栈的顺序存储总览
  • 关于风险系统解读最全最专业文章:一篇文章讲透风险,跨学科搞懂风险游戏规则,风险信任风险主观性客观性风险本质人格特质与风险态度技术风险系统风险社会新产品风险
  • 栈和队列代码
  • ARM/Linux嵌入式面经(五二):华为
  • Spring 设计模式之单例模式
  • C++新基础类型(C++11~C++20)
  • ECharts图表图例11
  • 解决cad找不到vcruntime140_1.dll,无法继续执行代码的6种方法
  • 《YOLO 目标检测》—— YOLO v3 详细介绍
  • 拟态UI3.0个人页