其他分享
首页 > 其他分享> > 110. 平衡二叉树

110. 平衡二叉树

作者:互联网

    int getHeight(TreeNode* cur)//获取二叉树的高度
    {
        if(cur == nullptr)
        {
            return 0;
        }

        int leftHeight = getHeight(cur->left);//左
        if(leftHeight == -1)
        {
            return -1;
        }

        int rightHeight = getHeight(cur->right);//右
        if(rightHeight == -1)
        {
            return -1;
        }

        if(abs(leftHeight - rightHeight) > 1)//计算左右两节点高度差
        {
            return -1;
        }
        else
        {
            return 1 + max(leftHeight, rightHeight);
        }
    }    
    bool isBalanced(TreeNode* root) 
    {
        return getHeight(root) == -1 ? false : true;//计算二叉树的深度,用前序遍历,高度则用后序遍历
    }```
参考:
https://programmercarl.com/0110.%E5%B9%B3%E8%A1%A1%E4%BA%8C%E5%8F%89%E6%A0%91.html#%E9%80%92%E5%BD%92

标签:rightHeight,遍历,return,cur,getHeight,二叉树,leftHeight,平衡,110
来源: https://blog.csdn.net/qq_43287931/article/details/121436804