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;
    }
};
相关推荐
多喝开水少熬夜29 分钟前
损失函数系列:focal-Dice-vgg
图像处理·python·算法·大模型·llm
立志成为大牛的小牛1 小时前
数据结构——三十七、关键路径(王道408)
数据结构·笔记·程序人生·考研·算法
ytttr8731 小时前
基于MATLAB的Relief算法特征权重选择实现
算法
Freshman小白2 小时前
python算法打包为docker镜像(边缘端api服务)
python·算法·docker
mit6.8243 小时前
[VT-Refine] Simulation | Fine-Tuning | docker/run.sh
算法
朴shu3 小时前
Delta数据结构:深入剖析高效数据同步的奥秘
javascript·算法·架构
mit6.8243 小时前
博弈dp|凸包|math分类
算法
Shinom1ya_3 小时前
算法 day 41
数据结构·算法·leetcode
hetao17338374 小时前
2025-10-30 ZYZOJ Star(斯达)模拟赛 hetao1733837的record
c++·算法
无敌最俊朗@4 小时前
C++ 值类别与移动语义详解(精简版)
java·数据结构·算法