int leaf(BiTree List)
{
int LeafCount=0 //计数
if(List!=NULL)
{
leaf(List->LChild);
leaf(List->RChild);
if (List ->LChild==NULL && List ->RChild==NULL)
LeafCount++;
}
return LeafCount;
}
根据上述代码,如果一个结点的左右指针都指向空,说明这个结点是叶子结点。使用递归的方法,遍历整个二叉树,寻找叶子结点,每寻找一个,LeafCount会加一,达到计数的效果。