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

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

概述本文章向大家介绍数据结构实验之二叉树七:叶子问题,主要包括数据结构实验之二叉树七:叶子问题使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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

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;

}

总结

以上是内存溢出为你收集整理的数据结构实验之二叉树七:叶子问题全部内容,希望文章能够帮你解决数据结构实验之二叉树七:叶子问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1264522.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存