1.通过参数传递统计叶子节点
void CountLeaf(BiTree T,int & Count)
{//通过参数传递统计叶子节点
if(T)
{
if((T->lchild==NULL)&&(T->rchild))
Count++;//如果左右子树都为空,则为叶子节点,则叶子节点数加一
else
{
CountLeaf(T->lchild,Count);
CountLeaf(T->rchild,Count);
}
}
}
2.靠返回值返回叶子节点的个数,左子树的叶子节点个数+右子树叶子节点个数
int Countleaf(BiTree T)
{
if((T->lchild==NULL)&&(T->rchild==NULL))
{
return 1;
}
else
{
m=Countleaf(T->lchild);
n=Countleaf(T->rchild);
return m+n;
}
}