网站优化是什么意思,做公司网站怎么做,域名和网站绑定,angularjs 网站模板题目描述 已知二叉树的一个按先序遍历输入的字符序列#xff0c;如abc,,de,g,,f,,, (其中,表示空结点)。请建立二叉树并求二叉树的叶子结点个数。 输入 连续输入多组数据#xff0c;每组数据输入一个长度小于50个字符的字符串。 输出 输出二叉树的叶子结点个数。 示例输入 ab…题目描述 已知二叉树的一个按先序遍历输入的字符序列如abc,,de,g,,f,,, (其中,表示空结点)。请建立二叉树并求二叉树的叶子结点个数。 输入 连续输入多组数据每组数据输入一个长度小于50个字符的字符串。 输出 输出二叉树的叶子结点个数。 示例输入 abc,,de,g,,f,,, 示例输出 3
#includestdio.h
#includestring.h
#includestdlib.h
typedef char Status;
typedef char telemtype;
typedef struct BiTNode
{
Status data;
struct BiTNode *lchild,*rchild;
}*BiTree;
Status str[51];
int i,count;
int CreateBiTree(BiTree T)//生成二叉树
{
if(str[i],) TNULL;
else
{
T(BiTree)malloc(sizeof(BiTNode));
if(!T)
exit(0);
T-datastr[i-1];
CreateBiTree(T-lchild);
CreateBiTree(T-rchild);
}
return 1;
}
void CountLeaf(BiTree T,int count)//树叶子的统计
{
if(T)
{
if((!T-rchild)(!T-lchild))
count;
CountLeaf(T-rchild,count);
CountLeaf(T-lchild,count);
}
}
int main()
{
BiTree T;
while(~scanf(%s,str))
{
i0;
CreateBiTree(T);//生成树
count0;
CountLeaf(T,count);//树叶子的统计
printf(%d\n,count);
}
return 0;
}