数据结构实验之二叉树七:叶子问题
Time limit: 1000 ms Memory limit: 65536 KiB
Problem Description
已知一个按先序输入的字符序列,如abd,eg,cf,(其中,表示空结点)。请建立该二叉树并按从上到下从左到右的顺序输出该二叉树的所有叶子结点。
input
输入数据有多行,每一行是一个长度小于50个字符的字符串。
Output
按从上到下从左到右的顺序输出二叉树的叶子结点。
Sample input
abd,
xnl,i,u,
Sample Output
dfg
uli
题目链接:
http://acm.sdut.edu.cn/onlinejudge2/index.PHP/Home/Contest/contestproblem/cID/2711/pID/3346
#include
using namespace std;
int top;
char str[51];
typedef struct treenode{
char s;
struct treenode *leftnode;
struct treenode *rightnode;
}node;
node *create()
{
top++;
node *root;
if(str[top]==',')
return NulL;
else
{
root=new node;
root->s=str[top];
root->leftnode=create();
root->rightnode=create();
}
return root;
}
voID leave(node *root)
{
int in=0,out=0;
node *dl[66];
dl[in++]=root;
while(in>out)
{
if(dl[out])
{
if(!dl[out]->leftnode&&!dl[out]->rightnode)
cout << dl[out]->s;
dl[in++]=dl[out]->leftnode;
dl[in++]=dl[out]->rightnode;
}
out++;
}
cout << endl;
}
int main()
{
while(cin >> str)
{
top=-1;
node *root=create();
leave(root);
}
return 0;
}
总结以上是内存溢出为你收集整理的数据结构实验之二叉树七:叶子问题全部内容,希望文章能够帮你解决数据结构实验之二叉树七:叶子问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)