力扣110、平衡二叉树


int getHight(struct TreeNode *root) {
    if (root == NULL) return 0;
    
    int r = getHight(root->right);
    int l = getHight(root->left);
    if (l == -2 || r == -2 || abs(l - r) > 1) return -2; //记忆化
    return (l > r ? l : r) + 1; //子树平衡,返回最高子树高度
}
bool isBalanced(struct TreeNode* root){
    return getHight(root) >= 0;
}

文章作者: Axieyun
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Axieyun !
评论
评论
  目录