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

题目描述:

代码实现:

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);
}
相关推荐
地平线开发者18 小时前
征程 6 | cgroup sample
算法·自动驾驶
姓蔡小朋友19 小时前
算法-滑动窗口
算法
君义_noip19 小时前
信息学奥赛一本通 2134:【25CSPS提高组】道路修复 | 洛谷 P14362 [CSP-S 2025] 道路修复
c++·算法·图论·信息学奥赛·csp-s
kaikaile199520 小时前
基于拥挤距离的多目标粒子群优化算法(MO-PSO-CD)详解
数据结构·算法
liulilittle20 小时前
OPENPPP2 Code Analysis One
网络·c++·网络协议·信息与通信·通信
不忘不弃20 小时前
求两组数的平均值
数据结构·算法
leaves falling20 小时前
迭代实现 斐波那契数列
数据结构·算法
珂朵莉MM20 小时前
全球校园人工智能算法精英大赛-产业命题赛-算法巅峰赛 2025年度画像
java·人工智能·算法·机器人
Morwit20 小时前
*【力扣hot100】 647. 回文子串
c++·算法·leetcode
DonnyCoy20 小时前
Android性能之数据结构
数据结构