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

题目描述:

代码实现:

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);
}
相关推荐
jghhh013 分钟前
基于C#实现与三菱FX系列PLC串口通信
开发语言·算法·c#·信息与通信
ada7_5 分钟前
LeetCode(python)22.括号生成
开发语言·数据结构·python·算法·leetcode·职场和发展
曹轲恒6 分钟前
JVM之垃圾回收算法(GC)
jvm·算法
YuTaoShao19 分钟前
【LeetCode 每日一题】1161. 最大层内元素和——BFS
算法·leetcode·宽度优先
White_Can26 分钟前
《C++11:列表初始化》
c语言·开发语言·c++·vscode·stl
黛色正浓27 分钟前
leetCode-热题100-子串合集(JavaScript)
javascript·算法·leetcode
White_Can35 分钟前
《C++11:右值引用与移动语义》
开发语言·c++·stl·c++11
Z1Jxxx40 分钟前
字符串翻转
开发语言·c++·算法
闻缺陷则喜何志丹41 分钟前
【前缀和 期望】P7875 「SWTR-7」IOI 2077|普及+
c++·算法·前缀和·洛谷·期望
CSDN_RTKLIB1 小时前
ODR、linkage问题解惑
开发语言·c++