按层次遍历二叉树

题目:以字符串的形式定义一棵二叉树的先序序列,若字符是‘#’, 表示该二叉树是空树,否则该字符是相应结点的数据元素。读入相应先序序列,建立二叉树,然后按层次遍历该二叉树并输出结点数据。

输入格式:

字符串形式的先序序列(即结点的数据类型为单个字符)

输出格式:

按层次遍历二叉树的结果

输入样例:

在这里给出一组输入。例如:

ABDG##HI####CE#J##F##

输出样例:

在这里给出相应的输出。例如:

ABCDEFGHJI

#include <iostream>
#include <queue>
using namespace std;struct BinaryTree_Node
{char value;              // 节点的值BinaryTree_Node* lChild; // 左子节点BinaryTree_Node* rChild; // 右子节点//  节点的构造函数BinaryTree_Node() : lChild(NULL), rChild(NULL){}
}; typedef BinaryTree_Node* BT_Node;// 创建二叉树(先序遍历)
BT_Node CreateBinaryTree()
{BT_Node root = new BinaryTree_Node();char v;cin >> v;if (v != '#'){root->value = v;root->lChild = CreateBinaryTree();root->rChild = CreateBinaryTree();}elseroot = NULL;return root;
}// 层次遍历(队列解法)
void Level_traverse(BT_Node root)
{queue<BT_Node> q;q.push(root);while (!q.empty()){BT_Node op = q.front();q.pop();cout << op->value;if (op->lChild != NULL)q.push(op->lChild);if (op->rChild != NULL)q.push(op->rChild);  }
}int main()
{BT_Node root;root = CreateBinaryTree();Level_traverse(root);
}

PTA - 按层次遍历二叉树相关推荐

  1. 层次遍历二叉树(编程之美3.10)

    问题(假定根节点位于第0层) 1. 层次遍历二叉树(每层换行分开) 2. 层次遍历二叉树指定的某层 例如 上图中 1. 1 2 3 4 5 6 7 8 2. 第三层 7 8 可以看出得出第二问的解,第 ...

  2. 按层次遍历二叉树_LeetCode | 102.二叉树的层次遍历

    这次来写一下 LeetCode 的第 102 题,二叉树的层次遍历. 题目描述 题目直接从 LeetCode 上截图过来,题目如下: 上面的题就是 二叉树的层次遍历 题目的截图,同时 LeetCode ...

  3. 按层次遍历二叉树算法

    问题:按层次遍历二叉树 在网上看了一些按层次遍历二叉树的算法,这里修改了一下通过队列来按层次遍历二叉树的算法 --------------------------------------------- ...

  4. 如何层次遍历二叉树(使用队列作为辅助工具)

    在此之前,我们已经掌握了使用递归算法实现二叉树先序遍历.中序遍历和后序遍历的流程,这里我们加大一下难度,探讨该如何实现二叉树的层次遍历算法. 相信有朋友至此会直接回答"用递归算法解决&quo ...

  5. c语言实现层次遍历二叉树完整代码

    //混用了一下c和c++(仅输入输出混用了一下,其他没有)#include<stdio.h> #include<stdlib.h> #include<iostream&g ...

  6. 二叉树层序遍历 c语言,C语言按层次遍历二叉树算法

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. #define MaxSize 1000 typedef char ElemType; t ...

  7. 网易:层次遍历二叉树

    题目描述 分层遍历二叉树 用java实现树结构,分层遍历二叉树.给定一棵二叉树,要求按分层遍历该二叉树,即从上到下按层次访问该二叉树(每一层单独输出一行),每一层要求访问的顺序为从左到右,再按照相同规 ...

  8. PTA - 建立与遍历二叉树

    建立与遍历二叉树 题目:以字符串的形式定义一棵二叉树的先序序列,若字符是'#', 表示该二叉树是空树,否则该字符是相应结点的数据元素.读入相应先序序列,建立二叉链式存储结构的二叉树,然后中序遍历该二叉 ...

  9. java层次遍历建立二叉树_java层次遍历二叉树

    思路很简单.通过队列,先将头结点放入队列,再遍历每个节点的左节点和右节点. import java.util.ArrayList; import java.util.LinkedList; /** * ...

最新文章

  1. 下载软件一直转圈圈_来了来了,百度网盘不限速!亲测满速,支持免登录下载!...
  2. Hi3516A开发--挂载SD卡和U盘
  3. keil_rtx特点
  4. python用字典存储学生信息网_用Python存储字典的四种方法
  5. JSP动作和内置对象
  6. TCP/IP(五):TCP 协议详解
  7. 基于FPGA 的8b10b编解码电路前端电路设计
  8. sqli-lab———writeup(11~17)
  9. mysql同步到另一台服务器_mysql数据库从一台服务器迁移到另一台服务器上
  10. 04.spring boot配置文件--yml
  11. mp3 资源文件压缩
  12. scrapy-redis的官方文档和源码位置
  13. 【虚拟主机】服务器搭建
  14. 图解Sysprep封装系统
  15. 解决Windows 10 无法安装.msi文件的办法
  16. 在升龙备份方法_[求助]关于使用再生龙备份系统的问题
  17. 腾讯“立知”被疑抄袭“即刻”
  18. 跨境电商ERP系统基础开发教程
  19. arduino智能浇花系统_基于Arduino的远程自动浇花系统设计
  20. Dearpygui制作Linux上SSD测试工具集合

热门文章

  1. AtCoder Regular Contest 题解
  2. VDHL VGA控制器设计实现显示器屏幕保护模块
  3. 修改idea提示快捷键
  4. python numba cuda_Numba:基于CUDA加速的高性能Python
  5. Linux上安装部署Solr-4.10.4并测试
  6. 托福考试都有哪些题型包括写作的题型?
  7. 百度地图 点击定位服务但没有反应
  8. 可视化大屏拖拉拽---低代码平台FlyFish
  9. 常用特征选取算法(转载)
  10. 主题:圣斗士星矢的状态模式和观察者模式