博客
关于我
G - 数据结构实验之二叉树七:叶子问题
阅读量:770 次
发布时间:2019-03-23

本文共 938 字,大约阅读时间需要 3 分钟。

Description

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

Input

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

Output

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

#include    #include      using namespace std;typedef struct node{       char data;        node *l,*r;}Tree;char pre[55];int cnt=0;Tree* buildtree_pre(){       if(pre[cnt]==',')    {           cnt++;        return NULL;    }    Tree *root = new Tree;    root->data = pre[cnt++];    root->l = buildtree_pre();    root->r = buildtree_pre();    return root;}//思路和层次遍历差不多void leave_out(Tree *root){       queue,t;    t.push(root);    while(!t.empty())    {        root = t.front();        t.pop();        if(root)        {            if(!root->l && !root->r)                cout
l); t.push(root->r); } }}int main(){ ios::sync_with_stdio(false); Tree *root; while(cin>>pre) { cnt=0; root = buildtree_pre(); leave_out(root); }}

转载地址:http://jaezk.baihongyu.com/

你可能感兴趣的文章
Qt笔记——QMutex&QWaitCondition处理生产者消费者模式
查看>>
Qt笔记——QLable+QPixmap图片缩放踩坑
查看>>
Qt笔记——foreach与forever
查看>>
QT程序怎么挪到Linux下,linux+Qt程序如何打包发布
查看>>
Qt知识:视图框架QGraphicsWidget详解
查看>>
SpringBoot中项目启动及定时任务缓存数据库常用数据至内存变量并转换后高频调用
查看>>
Qt知识: 画刷风格
查看>>
QT的OpenGL渲染窗QOpenGLWidget Class
查看>>
QT的C++程序加载动态链接库DLL(Linux下是so)的方式
查看>>
QT界面操作1:如何跟踪鼠标位置?
查看>>
Qt环境搭建(Visual Studio)
查看>>
QT点击"X"按钮,调用closeEvent()函数来实现调用特定事件(附:粗略介绍QT的信号与槽的使用方法)...
查看>>
QT样式表——url路径
查看>>
QT数据库(三):QSqlQuery使用
查看>>
QT教程5:消息框
查看>>
SpringBoot中集成阿里开源缓存访问框架JetCache实现声明式实例和方法缓存
查看>>
pom.xml中提示web.xml is missing and <failonmissingw>...
查看>>
Pomelo开发中Web客户端开发API简介
查看>>
QT教程2:QT5的体系构架
查看>>
PON架构(全光网络)
查看>>