【每日OJ —— 110. 平衡二叉树】

每日OJ ------ 110. 平衡二叉树

1.题目:110. 平衡二叉树

2.解法

2.1.算法讲解

1.这道题中的平衡二叉树的定义是:二叉树的每个节点的左右子树的高度差的绝对值不超过 111,则二叉树是平衡二叉树。根据定义,一棵二叉树是平衡二叉树,当且仅当其所有子树也都是平衡二叉树,因此可以使用递归的方式判断二叉树是不是平衡二叉树,递归的顺序可以是自顶向下或者自底向上。
2.算法:自顶向下递归
定义函数 height用于计算二叉树中的任意一个节点 p 的高度:


有了计算节点高度的函数,即可判断二叉树是否平衡。具体做法类似于二叉树的前序遍历,即对于当前遍历到的节点,首先计算左右子树的高度,如果左右子树的高度差是否不超过 1,再分别递归地遍历左右子节点,并判断左子树和右子树是否平衡。这是一个自顶向下的递归的过程。

2.2.代码实现

2.3.提交通过展示

相关推荐
松涛和鸣16 分钟前
14、C 语言进阶:函数指针、typedef、二级指针、const 指针
c语言·开发语言·算法·排序算法·学习方法
yagamiraito_2 小时前
757. 设置交集大小至少为2 (leetcode每日一题)
算法·leetcode·go
星释2 小时前
Rust 练习册 57:阿特巴什密码与字符映射技术
服务器·算法·rust
星期天22 小时前
3.0 C语⾔内存函数:memcpy memmove memset memcmp 数据在内存中的存储:整数在内存中的存储 ⼤⼩端字节序和字节序判断
c语言·数据结构·进阶·内存函数·数据内存存储
无敌最俊朗@2 小时前
力扣hot100-141.环形链表
算法·leetcode·链表
WWZZ20255 小时前
快速上手大模型:深度学习10(卷积神经网络2、模型训练实践、批量归一化)
人工智能·深度学习·神经网络·算法·机器人·大模型·具身智能
sali-tec6 小时前
C# 基于halcon的视觉工作流-章62 点云采样
开发语言·图像处理·人工智能·算法·计算机视觉
fashion 道格6 小时前
用 C 语言玩转归并排序:递归实现的深度解析
数据结构·算法·排序算法
j_xxx404_6 小时前
C++:继承(概念及定义|作用域|基类与派生类转换|默认成员函数|与友元、静态成员关系|多继承|组合)
数据结构·c++
码银7 小时前
【数据结构】 栈和队列
数据结构