bool isBalanced(node* n)
{
try
{
checkBalanced(n);
}
catch(string& s)
return false;
return true;
};
int checkBalanced(node* n)
{
if(!n)
return 0;
int lHeight = checkBalanced(n->left);
int rHeight = checkBalanced(n->right);
if(abs(lHeight - rHeight) > 1)
throw "unbalanced";
return 1 + max(lHeight, rHeight);
};判断一个树是不是二叉平衡树
最新推荐文章于 2024-05-25 20:17:22 发布
本文介绍了一种用于检查二叉树是否平衡的算法。该算法通过递归地计算每个节点的左右子树高度,并判断二者之差是否超过1来确定整棵树是否平衡。若不平衡,则抛出异常。
1252

被折叠的 条评论
为什么被折叠?



