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

题目描述:

代码实现:

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);
}
相关推荐
QxQ么么28 分钟前
移远通信(桂林)26校招-助理AI算法工程师-面试纪录
人工智能·python·算法·面试
止观止3 小时前
C++20 Concepts:让模板错误信息不再“天书”
c++·c++20·编程技巧·模板编程·concepts
FL16238631293 小时前
ONNX RuntimeC++ 静态库下载安装和使用教程
开发语言·c++
Mz12213 小时前
day05 移动零、盛水最多的容器、三数之和
数据结构·算法·leetcode
SoleMotive.3 小时前
如果用户反映页面跳转得非常慢,该如何排查
jvm·数据库·redis·算法·缓存
誰能久伴不乏3 小时前
Linux文件套接字AF_UNIX
linux·服务器·c语言·c++·unix
念越3 小时前
判断两棵二叉树是否相同(力扣)
算法·leetcode·入门
豆豆plus3 小时前
C++实现文件操作类
开发语言·c++
complexor3 小时前
NOIP 2025 游记
数据结构·数学·动态规划·贪心·组合计数·树上问题·游记&总结