2002-d-五
/**
算法思想:1.分别求出此节点的左子树与右子树的高度
2.做差即为平衡因子
3.递归遍历二叉树
**/
//求二叉树深度
int depth(BTNode *bt)
{
if(bt!=NULL)
{
int l=depth(bt->lchild);
int r=depth(bt->rchild);
return l>r?l+1:r+1;
}
return 0;
}
//递归求二叉树每个结点的平衡因子
void balance(BTNode *bt)
{
if(bt!=NULL)
{
balance(bt->lchild);
balance(bt->rchild);
int l=depth(bt->lchild);
int r=depth(bt->rchild);
printf("%d",l-r);
}
}