LeetCode110:平衡二叉树

题目描述

给定一个二叉树,判断它是否是 平衡二叉树


解题思想

使用递归依次计算左子树的高度和右子树的高度

代码

cpp 复制代码
class Solution {
public:
    int height(TreeNode* node) {
        if (node == nullptr) return 0;
        
        int leftT = height(node->left);
        if (leftT == -1) return -1;
        int rightT = height(node->right);
        if (rightT == -1) return -1;
        
        if (abs(leftT - rightT) > 1) 
            return -1;

        else
            return 1 + max(leftT, rightT);
    }


    bool isBalanced(TreeNode* root) {
        return height(root) == -1 ? false : true;
    }
};
相关推荐
Eric.Lee202131 分钟前
数据集-目标检测系列- F35 战斗机 检测数据集 F35 plane >> DataBall
人工智能·算法·yolo·目标检测·计算机视觉
Gsen281942 分钟前
AI大模型从0到1记录学习 数据结构和算法 day20
数据结构·学习·算法·生成对抗网络·目标跟踪·语言模型·知识图谱
一定要AK42 分钟前
天梯——L1-110 这不是字符串题
数据结构·c++·算法
2401_858286112 小时前
E47.【C语言】零散的练习题(1)
c语言·数据结构·算法·指针
凯子坚持 c2 小时前
深度解析之算法之分治(快排)
算法·leetcode·职场和发展
✿ ༺ ོIT技术༻4 小时前
笔试强训:Day2
开发语言·c++·笔记·算法
飞桨PaddlePaddle6 小时前
Wan2.1和HunyuanVideo文生视频模型算法解析与功能体验丨前沿多模态模型开发与应用实战第六期
人工智能·算法·百度·音视频·paddlepaddle·飞桨·deepseek
Starry_hello world7 小时前
C++ 快速幂算法
c++·算法·有问必答
石去皿7 小时前
力扣hot100 91-100记录
算法·leetcode·职场和发展
SsummerC9 小时前
【leetcode100】组合总和Ⅳ
数据结构·python·算法·leetcode·动态规划