LeetCode | 110. 平衡二叉树

LeetCode | 110. 平衡二叉树

OJ链接

在这里插入图片描述

  • 首先计算出二叉树的高度
  • 然后计算当前节点的左右子树的高度,然后判断当前节点的左右子树高度差是否超过 1,最后递归地检查左右子树是否也是平衡的。
//计算二叉树的高度
int height(struct TreeNode* root)
{
    if(root == NULL)
        return NULL;
    int left = height(root->left);
    int right = height(root->right);
    return left > right ? left + 1 : right + 1;
}
//判断是否是平衡二叉树
bool isBalanced(struct TreeNode* root) {
    if(root == NULL)
        return true;
    
    //分别求左右子树的高度
    int left = height(root->left);
    int right = height(root->right);

    //判断当前节点是否平衡
    if(abs(left - right) > 1)
        return false;
    //递归检查左右子树是否平衡    
    return isBalanced(root->left)
        && isBalanced(root->right);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/218969.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SOLIDWORKS弯曲特征在泵阀行业中的应用

弯曲特征-折弯 此类弯曲特征以绕三重轴的折弯轴折弯一个或多个实体。 定位三重轴和剪裁基准面,控制折弯的角度、位置和界限。 此弯曲类型可用于多种应用,包括工业设计、机械设计、解决金属冲压中的回弹条件以及从复杂的曲面形状中删除底切等。 本篇文章…

【每日易题】Leetcode上Hard难度的动态规划题目——地下城游戏的实现

君兮_的个人主页 即使走的再远,也勿忘启程时的初心 C/C 游戏开发 Hello,米娜桑们,这里是君兮_,博主最近一直在钻研动态规划算法,最近在Leetcode上刷题的时候遇到一个Hard难度的动态规划题,今天就借此机会来给大家分享…

CopyOnWriteArrayList怎么用

什么是CopyOnWriteArrayListCopyOnWriteArrayList常用方法CopyOnWriteArrayList源码详解CopyOnWriteArrayList使用注意点CopyOnWriteArrayList存在的性能问题CopyOnWriteArrayList 使用实例基本应用实例并发应用实例 拓展写时复制 什么是CopyOnWriteArrayList CopyOnWriteArra…

Uber Go 语言编码规范

uber-go/guide 的中文翻译 English 文档链接 Uber Go 语言编码规范 Uber 是一家美国硅谷的科技公司,也是 Go 语言的早期 adopter。其开源了很多 golang 项目,诸如被 Gopher 圈熟知的 zap、jaeger 等。2018 年年末 Uber 将内部的 Go 风格规范 开源到 G…

每天一点python——day85

#每天一点Python——85 #python常见的异常类型: #如图: #①数学运算异常【由于会报错,我直接全部注释掉了】 print(10/0) 输出:ZeroDivisionError: division by zero#②索引错误list1[1,2,3,4] print(list1[5])#找索引为4的元素 输…

谈一谈内存池

文章目录 一,什么是内存池二,进程地址空间中是如何解决内存碎片问题的三,malloc的实现原理四,STL中空间配置器的实现原理五,高并发内存池该内存池的优势在哪里内存池的设计框架内存申请流程ThreadCache层CentreCache层…

优酷新国风动漫《师兄啊师兄 第二季》强势定档 看李长寿稳健归来!

看新国风,上优酷动漫!由优酷出品,玄机科技制作,改编自阅文集团旗下起点读书小说《我师兄实在太稳健了》(作者:言归正传)的修仙喜剧动画《师兄啊师兄》第二季《海神扬名篇》今日正式官宣定档&…

【Docker】从零开始:13.Docker安装tomcat

Docker】从零开始:13.Docker安装Tomcat 下载Tomcat镜像启动Tomcat镜像新版本Tomcat修改访问Tomact首页 下载Tomcat镜像 [rootdocker ~]# docker pull tomcat Using default tag: latest latest: Pulling from library/tomcat 0e29546d541c: Pull complete 9b829c7…

培训机构一定要做好网络安全措施,确保学员信息安全!

生活中大家对于培训机构一定很熟悉,因为从小到大都可以参加各种培训机构。参加培训机构时候,往往会登记各种信息,培训机构会记录存储。所以为了确保学员个人隐私安全,保障学员信息安全,培训机构一定要做好网络安全措施…

【设计模式】单例模式代码设计

目录 单例模式简介饿汉单例模式懒汉单例模式线程安全的懒汉单例模式 橙色 详细可参考该篇文章:C设计模式 - 单例模式 单例模式简介 单例模式指的是,无论怎么获取,永远只能得到该类类型的唯一一个实例对象,那么设计一个单例就必须…

RH850P1X芯片学习笔记-Pin Functions

文章目录 Pin Connection Diagrams术语定义 Pin ListPort OverviewIntroductionFunctional OverviewPort CategoryOperation Mode运行模式 Port Function寄存器地址映射 Port寄存器描述Pn/JP0 — Port RegisterPPRn/JPPR0 — Port Pin Read RegisterPMn/JPM0 — Port Mode Regi…

采集伪原创洗稿,实现文章创作的方法

各位写手小伙伴们,今天要和大家分享一些关于伪原创的方法和经验,希望这些建议能够在你们的写作之旅中派上用场。 首先我们需要明确一下,伪原创并不是鼓励抄袭,而是一种在保留原文核心思想的同时,通过巧妙的方式改写&a…

2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-A

2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-A 目录 2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-A 需要环境或者解析可以私信 (二)A 模块基础设施设置/安全加固(200 分&…

Footprint Analytics x Future3 万字研报:AI 与 Web3 数据行业融合的现状、竞争格局与未来机遇探析(上)

GPT的横空出世将全球的目光吸引至大语言模型,各行各业都尝试着利用这个“黑科技”提高工作效率,加速行业发展。Future3 Campus携手Footprint Analytics共同深入研究AI与Web3结合的无限可能,联合发布了《AI与Web3数据行业融合现状、竞争格局与…

操作系统原理-作业二-进程调度与死锁

1.设某系统中有四个进程 P1 、 P2 、 P3 和 P4 ,它们的到达时刻依次为 0ms 、 1ms 、 2ms 、 3ms ,估计运行时间分别为 6ms 、 1ms 、 8ms 、 4ms ,若系统采用基于时间片轮转的三 级反馈队列调度算法进行调度,其中第一级队…

深度解析大模型背后的知识储存与提取:背诵不等于理解/MongoDB发布生成式AI新功能,大幅提高开发者工作效率和体验|魔法半周报

我有魔法✨为你劈开信息大海❗ 高效获取AIGC的热门事件🔥,更新AIGC的最新动态,生成相应的魔法简报,节省阅读时间👻 🔥资讯预览 Mistral AI发布开源语言模型Mistral 7B,性能超越规模更大的Llama…

机器学习实验四:贝叶斯分类器

系列文章目录 机器学习实验一:线性回归机器学习实验二:决策树模型机器学习实验三:支持向量机模型机器学习实验四:贝叶斯分类器机器学习实验五:集成学习机器学习实验六:聚类 文章目录 系列文章目录一、实验…

计算机网络之IP篇

目录 一、IP 的基本认识 二、DNS 三、ARP 四、DHCP 五、NAT 六、ICMP 七、IGMP 七、ping 的工作原理 ping-----查询报文的使用 traceroute —— 差错报文类型的使用 八、断网了还能 ping 通 127.0.0.1 吗? 8.1、什么是 127.0.0.1 ? 8.2、为…

11.10Redis基础

一.安装,启动,操作 二.远程连接 三.官方文档 https://redis.io/commands/ 四.Redis的数据类型 1.String 2.Hash(注意: value是字典类型) 3.List(类似于队列) 4.Set(无序) 5. ZSet(有序) 五.持久化 六.分布 七.SpringBoot集成Redis 1.添加依赖 2. 配置Redis 3.操作Redis(Serv…

如何选择适合自己的成品短视频app源码?

在当今数字化社会,短视频成为了人们日常生活中不可或缺的一部分。对于想要投身这一领域的创业者来说,选择适合自己的成品短视频app源码显得至关重要。在这篇文章中,我将为您提供一些建议,帮助您在众多选择中找到最合适的短视频app…