数据结构实验之二叉树七:叶子问题
2016-10-31 21:22
197 查看
数据结构实验之二叉树七:叶子问题
Time Limit: 1000MSMemory Limit: 65536KB
已知一个按先序输入的字符序列,如abd,,eg,,,cf,,,(其中,表示空结点)。请建立该二叉树并按从上到下从左到右的顺序输出该二叉树的所有叶子结点。
Input
输入数据有多行,每一行是一个长度小于50个字符的字符串。Output
按从上到下从左到右的顺序输出二叉树的叶子结点。Example Input
abd,,eg,,,cf,,, xnl,,i,,u,,
Example Output
dfg uli
[align=center][/align]
Problem Description
#include<iostream> #include<stdio.h> #include<stdlib.h> using namespace std; struct node { char data; struct node *l,*r; }; int count,sum; char a[1010]; struct node *creat() { struct node *root; root=(struct node *)malloc(sizeof(struct node)); if(a[count++]==',') root=NULL; else { root->data=a[count-1]; root->l=creat(); root->r=creat(); } return root; }; int leveltraverse(struct node *root) { int in=0; int out=0; struct node *q[1010]; q[in++]=root; while(in>out) { if(q[out]) { if(q[out]->l==NULL&&q[out]->r==NULL) cout<<q[out]->data; q[in++]=q[out]->l; q[in++]=q[out]->r; } out++; } } int main() { int n; struct node *root; while(~scanf("%s",a)) { count=0; root=creat(); leveltraverse(root); cout<<endl; } return 0; }
相关文章推荐
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题 (sdut OJ3346)
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题(层序遍历输出叶子)
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- SDUT 3346 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题