LeetCode 110. 平衡二叉树

devtools/2024/10/24 5:17:07/

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

  • 二叉平衡树的左右子树高度相差不超过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.ppmy.cn/devtools/128371.html

相关文章

STMicroelectronics 意法半导体芯片选型表

意法半导体作为全球知名的半导体厂商&#xff0c;其产品广泛应用于各个领域&#xff0c;从消费电子到工业控制&#xff0c;从汽车电子到通信设备&#xff0c;都能看到意法半导体芯片的身影。在电子硬件设计领域&#xff0c;芯片的选型至关重要。亿配芯城&#xff08;ICgoodFind…

2024软考网络工程师笔记 - 第8章.网络安全

文章目录 网络安全基础1️⃣网络安全威胁类型2️⃣网络攻击类型3️⃣安全目标与技术 &#x1f551;现代加密技术1️⃣私钥密码/对称密码体制2️⃣对称加密算法总结3️⃣公钥密码/非对称密码4️⃣混合密码5️⃣国产加密算法 - SM 系列6️⃣认证7️⃣基于公钥的认证 &#x1f552…

[Unity Demo]从零开始制作空洞骑士Hollow Knight第十五集:制作更多地图,更多敌人,更多可交互对象

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、第一个代表性场景 1.制作更多敌人2.制作更多可交互对象二、第二个代表性场景 1.制作更多敌人2.制作更多可交互对象三、第三个代表性场景 1.制作更多敌人2.制…

传感器驱动系列之PAW3212DB鼠标光电传感器

目录 一、PAW3212DB鼠标光电传感器简介 1.1 主要特点 1.2 引脚定义 1.3 传感器组装 1.4 应用场景 1.5 传感器使用注意 1.5.1 供电选择 1.5.2 SPI读写设置 1.5.3 MOTION引脚 1.6 寄存器说明 1.6.1 Product_ID1寄存器 1.6.2 MOTION_Status寄存器 1.6.3 Delta_X寄存器…

[k8s理论知识]4.docker基础(三)镜像分层

上一节内容讲了Docker的文件系统的挂载和隔离&#xff0c;也讲了Docker镜像打包了一部分的操作系统&#xff0c;既操作系统的文件系统和配置文件。但是容器在宿主机上运行的时候只能使用宿主机内核&#xff0c;这也带来了一定的局限性&#xff0c;就是高版本的docker镜像无法运…

重构复杂简单变量之用子类替换类型码

子类替换类型码 是一种用于将类型码替换为子类。当代码使用类型码&#xff08;通常是 int、string 或 enum&#xff09;来表示对象的不同类别&#xff0c;并且这些类别的行为有所不同时&#xff0c;使用子类可以更加清晰地表达这些差异并减少复杂的条件判断。 一、什么时候使用…

【书生大模型实战营】闯关任务1-入关岛

这里写自定义目录标题 第一关 L0G1000 Linux 基础知识 第一关 L0G1000 Linux 基础知识 SSH连接与端口映射并运行hello_world.py 关键截图&#xff1a;

Flask-SQLAlchemy 组件

一、ORM 要了解 ORM 首先了解以下概念。 什么是持久化 持久化 (Persistence)&#xff0c;即把数据&#xff08;如内存中的对象&#xff09;保存到可永久保存的存储设备中&#xff08;如磁盘&#xff09;。持久化的主要应用是将内存中的数据存储在关系型的数据库中&#xff0c;…