【数据结构--二叉树】平衡二叉树

题目描述:

代码实现:

cpp 复制代码
/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     struct TreeNode *left;
 *     struct TreeNode *right;
 * };
 */
int TreeHeight(struct TreeNode* root)
{
    if(root==NULL)
        return 0;
    //左右子树中大的那个+1
    int left=TreeHeight(root->left);
    int right=TreeHeight(root->right);
    return left>right?left+1:right+1;
}
bool isBalanced(struct TreeNode* root){
    if(root==NULL)
        return true;
    int left=TreeHeight(root->left);
    int right=TreeHeight(root->right);
    if(left-right>1||right-left>1)
    {
        return false;
    }
    return isBalanced(root->left)&&isBalanced(root->right);
}
相关推荐
云边有个稻草人5 小时前
部分移动(Partial Move)的使用场景:Rust 所有权拆分的精细化实践
开发语言·算法·rust
泡沫冰@7 小时前
数据结构(20)
数据结构
松涛和鸣7 小时前
11.C 语言学习:递归、宏定义、预处理、汉诺塔、Fibonacci 等
linux·c语言·开发语言·学习·算法·排序算法
2501_941111248 小时前
C++与自动驾驶系统
开发语言·c++·算法
2501_941111698 小时前
C++中的枚举类高级用法
开发语言·c++·算法
jz_ddk9 小时前
[算法] 算法PK:LMS与RLS的对比研究
人工智能·神经网络·算法·信号处理·lms·rls·自适应滤波
Miraitowa_cheems9 小时前
LeetCode算法日记 - Day 106: 两个字符串的最小ASCII删除和
java·数据结构·算法·leetcode·深度优先
旭编9 小时前
小红的好矩形
c++·算法
小白程序员成长日记9 小时前
2025.11.12 力扣每日一题
算法·leetcode·职场和发展
Alex艾力的IT数字空间9 小时前
设计既保持高性能又兼顾可移植性的跨平台数据结构
数据结构·分布式·算法·微服务·中间件·架构·动态规划