数据结构实验之二叉树七:叶子问题
Time Limit: 1000 ms Memory Limit: 65536 KiB

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

Input
输入数据有多行,每一行是一个长度小于50个字符的字符串。
Output
按从上到下从左到右的顺序输出二叉树的叶子结点。
Sample Input
abd,eg,cf,
xnl,i,u,
Sample Output
dfg
uli

#include <stdio.h>
#include <stdlib.h>
#include <queue>
using namespace std;
char a[50];
int i;
typedef struct st
{char data;struct st*l,*r;
}tree;
tree*create()
{tree*t;if(a[++i] == ',')t=NULL;else{t=new tree;t->data=a[i];t->l=create();t->r=create();}return t;
}
void leave(tree*t)
{queue<tree*>q;q.push(t);while(!q.empty()){t=q.front();q.pop();if(t){if(t->l == NULL&&t->r == NULL) //错误:一开始将此条件与t写在一块。cout<<t->data;q.push(t->l);q.push(t->r);}}
}
int main()
{
while(cin>>a)
{i=-1;tree*t;t=create();leave(t);cout<<endl;
}return 0;
}

叶子问题(层次遍历加判断叶子)相关推荐

  1. 【CCCC】L3-010 是否完全二叉搜索树 (30分),完全二叉树判断+层次遍历(奇怪的方法)

    problem L3-010 是否完全二叉搜索树 (30分) 将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树键值小),你需要判断最后的树是否一棵完全二叉树,并且给出其层序 ...

  2. 建立二叉树:已知层次遍历顺序建立二叉树、已知先序遍历顺序建立二叉树

    其他二叉树知识!二叉树知识汇总 目录 前提知识: 约定: 二叉树节点的存储结构: 创建一个节点: 建立二叉树的几种方法: 一.已知先序遍历顺序,构建二叉树.(链式存储) 二.已知层次遍历顺序,构建二叉 ...

  3. 树与树算法二叉树的层次遍历/广度遍历/深度遍历详解与代码实现

    一. 树与树算法 1.1树的概念   树(tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合.它是由n(n>=1)个有限节点组成一个具有 ...

  4. 【每日一算法】二叉树的层次遍历 II

    每日一算法-二叉树的层次遍历 II 题目 给定一个二叉树,返回其节点值自底向上的层次遍历. (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如: 给定二叉树 [3,9,20,null,n ...

  5. 二叉树的先序/中序/后序/层次遍历

    [简介] 树形结构是一类重要的非线性数据结构,其中以树和二叉树最为常用. 二叉树是每个结点最多有两个子树的有序树.通常子树的根被称作"左子树"(left subtree)和&quo ...

  6. 二叉树前中后、层次遍历

    #include<iostream> #include<stack> #include<queue> using namespace std;/* 二叉树遍历算法递 ...

  7. 二叉树先序遍历,中序遍历,后序遍历,层次遍历学习总结及完整C/C++代码

    伪代码阐述 先序遍历 先序遍历:先访问根节点, 然后深入左子树,直到不能深入时再深入右子树 由定义可得递归式 void travPre_R(BinNodePosi* x,VISIT& visi ...

  8. 二叉树前中后序遍历的非递归实现以及层次遍历、zig-zag型遍历详解

    前言 二叉树的遍历是一个比较常见的问题,递归实现二叉树的前中后序遍历比较简单,但非递归实现二叉树的前中后序遍历相对有难度.这篇博客将详述如何使用非递归的方式实现二叉树的前中后序遍历,在进行理论描述的同 ...

  9. 数据结构 | 第十一章:二叉树和其他树 | 【前序遍历】【中序遍历】【后序遍历】【层次遍历】 | 并查集

    第5-10章:线性结构,元素之间存在线性次序(线性表.数组与矩阵.栈.队列.跳表和散列表 第11-15章:层次结构(二叉树和树.优先队列.竞赛树.搜索树) 文章目录 11.1 树 11.2 二叉树 1 ...

最新文章

  1. 看完这篇 Linux 权限,通透了!
  2. react-native-image-picker 运用launchCamera直接调取摄像头的缺陷及修复
  3. Pytorch 笔记——tensor
  4. python的基本结构_python基础--结构篇
  5. manjaro linux内核,分享|一个值得推荐的发行版:Manjaro Linux
  6. 怎样用注解的方式配置Spring?
  7. 全球最大多人在线创作游戏Roblox暂时关闭 官方称将尽快恢复运行
  8. 实验linux下的编程,实验四 Linux下的C语言编程;
  9. Fiddler跨域调试及Django跨域处理
  10. android switch自定义样式,Android自定义Switch样式
  11. 会话控制_2-5 编程练习
  12. linux进程间通信练习:对于text.txt文件,子进程将字符串“something communication”写入text.txt,父进程读取text.txt文件内容并打印。
  13. 拓端tecdat|R语言如何找到患者数据中具有差异的指标?(PLS—DA分析)
  14. 图形界面下,如何查看LINUX隐藏的文件、目录
  15. 使用pynput模块监听用户键盘输入,保存至txt
  16. Qimage像素级操作
  17. 碳足迹 carbon footprint
  18. 3D线激光成像数学模型简析与实现
  19. 好玩的Java塔防游戏,根本停不下来!五款经典又好玩的塔防游戏推荐
  20. 视频文件格式、视频封装格式、视频编码方式

热门文章

  1. vue搭配animate4版本失效
  2. android实现计算器功能吗,安卓实现一个计算器的功能
  3. hexo搭建个人博客_hexo 搭建个人博客
  4. Python爬虫之编辑cookie实例:必胜客餐厅
  5. Anaconda下改变python的版本
  6. 目标检测——使用loss发现噪声数据
  7. Python中无法使用“~”获取Ubuntu系统的用户目录
  8. 【简单粗暴】如何给网页嵌入视频
  9. Python实践周 A卷 试题(不印刷)
  10. leetcode185 Department Top Three Salaries