叶子问题

原创 2015年11月20日 19:36:22

数据结构实验之二叉树七:叶子问题

Time Limit: 1000MS Memory limit: 65536K

题目描述

已知一个按先序输入的字符序列,如abd,,eg,,,cf,,,(其中,表示空结点)。请建立该二叉树并按从上到下从左到右的顺序输出该二叉树的所有叶子结点。

输入

 输入数据有多行,每一行是一个长度小于50个字符的字符串。

输出

 按从上到下从左到右的顺序输出二叉树的叶子结点。

示例输入

abd,,eg,,,cf,,,
xnl,,i,,u,,

示例输出

dfg

uli

#include<stdio.h> #include<string.h> #include<stdlib.h> #include<malloc.h> char q[100];int i; struct node {     char data;     struct node *l,*r; }; struct node *creat(struct node *p) {     if(q[i++]==',')      p=NULL;     else     {         p=(struct node *)malloc(sizeof(struct node));         p->data=q[i-1];         p->l=creat(p->l);         p->r=creat(p->r);     }     return p; } void cengci(struct node *root) { int out=0,in=0; struct node *q[100]; q[in++]=root; while(in>out) { if(q[out]) {if(q[out]->l==NULL&&q[out]->r==NULL) printf("%c",q[out]->data); q[in++]=q[out]->l; q[in++]=q[out]->r; } out++; } } int main() { while(scanf("%s",q)!=EOF)     {i=0;         struct node *head;         head = (struct node *)malloc(sizeof(struct node));         head = creat(head);         cengci(head);        printf("\n");     }     return 0; }

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

求二叉树的高度,叶子节点个数,第K层结点个数,求祖先结点问题

求二叉树的高度,叶子节点个数,第K层结点个数,求祖先结点问题

问题 K: DS_6.11 根结点到叶子结点的路径(by Yan)

问题 K: DS_6.11 根结点到叶子结点的路径(by Yan) 时间限制: 15 Sec 内存限制: 128 MB 提交: 19 解决: 16 [提交][状态][讨论版] 题目描述 ...

sdutacm-数据结构实验之二叉树七:叶子问题

山东理工acm平台题解

数据结构实验之二叉树七:叶子问题

数据结构实验之二叉树七:叶子问题 Time Limit: 1000MS Memory limit: 65536K 题目描述 已知一个按先序输入的字符序列,如a...

boj 1204 让树的根结点到叶子结点等长的问题

地址:http://acm.scs.bupt.cn/onlinejudge/showproblem.php?problem_id=1204EqualTreeSubmit: 105   Accepted...

通过HashMap快速将叶子节点构建成树状结构

现在有一批叶子节点,它们通过id,parentId来表示父子级关系。 但是我们希望它们的关系是成树状图的形式展示的。 例如将下列数据:[{id:1,parentId:null,childrens:...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)