剑指offer上的题目,马虎了多提交了两次。
bool isBalancedRecursive(TreeNode *root,int &lenth)
{
if(root==NULL)
{
lenth = 0;
return true;
}
int leftlenth,rightlenth;
if (isBalancedRecursive(root->left,leftlenth)&&isBalancedRecursive(root->right,rightlenth))
{
lenth = leftlenth>rightlenth?leftlenth+1:rightlenth+1;
if(leftlenth-rightlenth<=1&&leftlenth-rightlenth>=-1)
return true;
else
return false;
}
else
return false;
}
bool isBalanced(TreeNode *root) {
if(root==NULL)
return true;
int lenth;
return isBalancedRecursive(root,lenth);
}
判断二叉树是否平衡

本文提供了一种通过递归算法来判断二叉树是否为平衡二叉树的方法。平衡二叉树定义为任意节点的左右子树高度差不超过1的二叉树。该算法通过计算每个节点的左右子树高度并比较来实现。
789

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



