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

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

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

2.解法

2.1.算法讲解

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


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

2.2.代码实现

2.3.提交通过展示

相关推荐
美狐美颜SDK开放平台23 分钟前
直播美颜sdk特效功能架构全解析:从图像处理到AI渲染的技术演进
图像处理·人工智能·算法·架构·1024程序员节·美颜sdk·直播美颜sdk
zhangx1234_36 分钟前
C语言题目1
c语言·开发语言·数据结构
Swift社区37 分钟前
LeetCode 412 - Fizz Buzz
算法·leetcode·职场和发展
小年糕是糕手42 分钟前
【C/C++刷题集】二叉树算法题(一)
c语言·数据结构·c++·算法·leetcode·学习方法·改行学it
前端炒粉9 小时前
18.矩阵置零(原地算法)
javascript·线性代数·算法·矩阵
im_AMBER9 小时前
数据结构 09 二叉树作业
数据结构·笔记·学习
暴风鱼划水10 小时前
三维重建【0-D】3D Gaussian Splatting:相机标定原理与步骤
算法·3d
l1t11 小时前
利用DeepSeek修改数据结构提升求解集合程序效率
数据结构·python·deepseek
mount_myj12 小时前
敏感信息屏蔽(一)【java】
java·算法·极课堂