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;
    }
};
相关推荐
却话巴山夜雨时i2 分钟前
394. 字符串解码【中等】
java·数据结构·算法·leetcode
haing20193 分钟前
使用黄金分割法计算Bezier曲线曲率极值的方法介绍
算法·黄金分割
leoufung9 分钟前
LeetCode 230:二叉搜索树中第 K 小的元素 —— 从 Inorder 遍历到 Order Statistic Tree
算法·leetcode·职场和发展
jyyyx的算法博客11 分钟前
多模字符串匹配算法 -- 面试题 17.17. 多次搜索
算法
da_vinci_x13 分钟前
Sampler AI + 滤波算法:解决 AIGC 贴图“噪点过剩”,构建风格化 PBR 工业管线
人工智能·算法·aigc·材质·贴图·技术美术·游戏美术
惊鸿.Jh16 分钟前
503. 下一个更大元素 II
数据结构·算法·leetcode
chao18984421 分钟前
MATLAB 实现声纹识别特征提取
人工智能·算法·matlab
zhishidi23 分钟前
推荐算法之:GBDT、GBDT LR、XGBoost详细解读与案例实现
人工智能·算法·推荐算法
货拉拉技术24 分钟前
货拉拉RAG优化实践:从原始数据到高质量知识库
数据库·算法
AKDreamer_HeXY35 分钟前
ABC434E 题解
c++·算法·图论·atcoder