//算出树的高度--通过比较左右子树的高度
//一定要int类型
int _isBalanced(struct TreeNode* root)
{
if(root==NULL)
{
return 0;
}
return fmax(_isBalanced(root->left) , _isBalanced(root->right))+1;
//会超出时间限制
// return _isBalanced(root->left) > _isBalanced(root->right)?_isBalanced(root->left)+1: _isBalanced(root->right);
}
bool isBalanced(struct TreeNode* root){
if(root==NULL)//递归到叶子节点了
{
return true;
}
if(abs(_isBalanced(root->left)-_isBalanced(root->right))>1)
{
return false;
}
return isBalanced(root->left) &&isBalanced(root->right);
}
判断是否是平衡二叉树
最新推荐文章于 2021-12-12 09:20:49 发布