//判断一个二叉树第 k层 有多少个叶节点
int leafAtLevelK(BTree T, int k, int cur)
{
if(T==NULL||cur>k) return 0;
if(cur==k)
{
if(T->lchild==NULL&&T->rchild==NULL) return 1;
else return 0;
}
else if(cur<k)
{
return leafAtLevelK(T->lchild,k,cur+1)
+leafAtLevelK( T->rchild, k, cur+1);
}
}
调用:
cout<<leafAtLevelK(T1,3,1)<<endl;