本题是计算二叉树中叶子结点的个数。
函数接口定义:
在这里描述函数接口。例如:
int num (Bptr p);
裁判测试程序样例:
#include <stdio.h>
#include <malloc.h>
typedef struct node
{
int data;
struct node *Lson,*Rson;
}Bnode,*Bptr;
int num (Bptr p);
Bptr creat()
{
Bptr p;
int x;
scanf("%d",&x);
if(x==0)
return NULL;
p=(Bptr)malloc(sizeof(Bnode));
p->data=x;
p->Lson=creat();
p->Rson=creat();
return p;
}
int main()
{
Bptr root;
int k;
root=creat();
k=num(root);
printf("%d\n", k);
return 0;
}
/* 请在这里填写答案 */
输入样例:
3 4 1 0 0 0 2 0 0
结尾无空行
输出样例:
2
结尾无空行
C:
int num(Bptr p)
{
if (!p->Lson || !p->Rson)return 1;
return num(p->Lson) + num(p->Rson);
}