
说明:叶子即无左儿子和右儿子。可在建树的同时进行判断是否无两个儿子,若没有,计数器自增
(OS:新人,有错误请指出,一起成长!)
#include <bits/stdc++.h>
struct tree
{
struct tree *l,*r;
char data;
};
char s[101];
int i,amt;
tree *creat(tree *t)
{
if(s[i++]==',')
t=NULL;
else
{
t=new tree;
t->data=s[i];
t->l=creat(t->l);
t->r=creat(t->r);
if(t->l==NULL&&t->r==NULL)
amt++;
}
return t;
}
int main()
{
while(scanf("%s",s)!=EOF)
{
i=0;
amt=0;
tree *t;
t=creat(t);
printf("%d\n",amt);
}
return 0;
}
本文介绍了一个简单的C++程序,用于构建二叉树并计算其中叶子节点的数量。通过递归方式创建二叉树,并在创建过程中检查每个节点是否为叶子节点(即没有左右子节点),若是则计数器自增。
1506

被折叠的 条评论
为什么被折叠?



