PTA - 按层次遍历二叉树
按层次遍历二叉树
题目:以字符串的形式定义一棵二叉树的先序序列,若字符是‘#’, 表示该二叉树是空树,否则该字符是相应结点的数据元素。读入相应先序序列,建立二叉树,然后按层次遍历该二叉树并输出结点数据。
输入格式:
字符串形式的先序序列(即结点的数据类型为单个字符)
输出格式:
按层次遍历二叉树的结果
输入样例:
在这里给出一组输入。例如:
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 - 按层次遍历二叉树相关推荐
- 层次遍历二叉树(编程之美3.10)
问题(假定根节点位于第0层) 1. 层次遍历二叉树(每层换行分开) 2. 层次遍历二叉树指定的某层 例如 上图中 1. 1 2 3 4 5 6 7 8 2. 第三层 7 8 可以看出得出第二问的解,第 ...
- 按层次遍历二叉树_LeetCode | 102.二叉树的层次遍历
这次来写一下 LeetCode 的第 102 题,二叉树的层次遍历. 题目描述 题目直接从 LeetCode 上截图过来,题目如下: 上面的题就是 二叉树的层次遍历 题目的截图,同时 LeetCode ...
- 按层次遍历二叉树算法
问题:按层次遍历二叉树 在网上看了一些按层次遍历二叉树的算法,这里修改了一下通过队列来按层次遍历二叉树的算法 --------------------------------------------- ...
- 如何层次遍历二叉树(使用队列作为辅助工具)
在此之前,我们已经掌握了使用递归算法实现二叉树先序遍历.中序遍历和后序遍历的流程,这里我们加大一下难度,探讨该如何实现二叉树的层次遍历算法. 相信有朋友至此会直接回答"用递归算法解决&quo ...
- c语言实现层次遍历二叉树完整代码
//混用了一下c和c++(仅输入输出混用了一下,其他没有)#include<stdio.h> #include<stdlib.h> #include<iostream&g ...
- 二叉树层序遍历 c语言,C语言按层次遍历二叉树算法
下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. #define MaxSize 1000 typedef char ElemType; t ...
- 网易:层次遍历二叉树
题目描述 分层遍历二叉树 用java实现树结构,分层遍历二叉树.给定一棵二叉树,要求按分层遍历该二叉树,即从上到下按层次访问该二叉树(每一层单独输出一行),每一层要求访问的顺序为从左到右,再按照相同规 ...
- PTA - 建立与遍历二叉树
建立与遍历二叉树 题目:以字符串的形式定义一棵二叉树的先序序列,若字符是'#', 表示该二叉树是空树,否则该字符是相应结点的数据元素.读入相应先序序列,建立二叉链式存储结构的二叉树,然后中序遍历该二叉 ...
- java层次遍历建立二叉树_java层次遍历二叉树
思路很简单.通过队列,先将头结点放入队列,再遍历每个节点的左节点和右节点. import java.util.ArrayList; import java.util.LinkedList; /** * ...
最新文章
- 下载软件一直转圈圈_来了来了,百度网盘不限速!亲测满速,支持免登录下载!...
- Hi3516A开发--挂载SD卡和U盘
- keil_rtx特点
- python用字典存储学生信息网_用Python存储字典的四种方法
- JSP动作和内置对象
- TCP/IP(五):TCP 协议详解
- 基于FPGA 的8b10b编解码电路前端电路设计
- sqli-lab———writeup(11~17)
- mysql同步到另一台服务器_mysql数据库从一台服务器迁移到另一台服务器上
- 04.spring boot配置文件--yml
- mp3 资源文件压缩
- scrapy-redis的官方文档和源码位置
- 【虚拟主机】服务器搭建
- 图解Sysprep封装系统
- 解决Windows 10 无法安装.msi文件的办法
- 在升龙备份方法_[求助]关于使用再生龙备份系统的问题
- 腾讯“立知”被疑抄袭“即刻”
- 跨境电商ERP系统基础开发教程
- arduino智能浇花系统_基于Arduino的远程自动浇花系统设计
- Dearpygui制作Linux上SSD测试工具集合