浙大PAT 1020. Tree Traversals (25)
来源:互联网 发布:一个人能备案几个域名 编辑:程序博客网 时间:2024/06/06 16:47
Suppose that all the keys in a binary tree are distinct positive integers. Given the postorder and inorder traversal sequences, you are supposed to output the level order traversal sequence of the corresponding binary tree.
Input Specification:
Each input file contains one test case. For each case, the first line gives a positive integer N (<=30), the total number of nodes in the binary tree. The second line gives the postorder sequence and the third line gives the inorder sequence. All the numbers in a line are separated by a space.
Output Specification:
For each test case, print in one line the level order traversal sequence of the corresponding binary tree. All the numbers in a line must be separated by exactly one space, and there must be no extra space at the end of the line.
Sample Input:72 3 1 5 7 6 41 2 3 4 5 6 7Sample Output:
4 1 6 3 5 7 2
/* * 题意:已知二叉树的后中序输出层序遍历的结果。 * 通过后中序建立树 bfs输出层序结果即可。 */#include "iostream"#include "queue"using namespace std;struct Node {int val;Node* l;Node* r;};typedef Node* Tree;Tree t;Tree buildTree(int* post,int* in,int n) {if (n <= 0)return NULL;int i;for (i = 0; post[n-1]!=in[i]; i++);Tree t = (Tree)malloc(sizeof(struct Node));t->val = post[n - 1];t->l = buildTree(post,in,i);t->r = buildTree(post+i,in+i+1,n-i-1);return t;}void bfs() {queue<Tree>q;q.push(t);bool flag = 1;while (!q.empty()) {Tree p = q.front();if (flag) {cout << p->val;flag = false;}elsecout << " " << p->val;if (p->l != NULL)q.push(p->l);if (p->r != NULL)q.push(p->r);q.pop();}}int main() {int n;int post[31];int in[31];cin >> n;for (int i = 0; i < n; i++)cin >> post[i];for (int i = 0; i < n; i++)cin >> in[i];t = buildTree( post, in, n);bfs();cout << endl;return 0;}
- 浙大 PAT 1020. Tree Traversals (25)
- 浙大PAT 1020. Tree Traversals (25)
- 浙大PAT 1020. Tree Traversals (25)
- 浙大 PAT Advanced level 1020. Tree Traversals (25)
- 浙大PAT 1020题 1020. Tree Traversals
- 浙大PAT (Advanced Level) Practise 1020Tree Traversals (25)
- pat 1020. Tree Traversals (25)
- 【PAT】1020. Tree Traversals (25)
- PAT: 1020. Tree Traversals (25)
- PAT 1020. Tree Traversals(25)
- 【PAT】1020. Tree Traversals (25)
- [PAT]1020. Tree Traversals (25)
- PAT 1020. Tree Traversals (25)
- PAT 1020. Tree Traversals (25)
- pat 1020. Tree Traversals (25)
- PAT 1020. Tree Traversals (25)
- pat 1020. Tree Traversals (25)
- 【PAT】1020. Tree Traversals (25)
- 301、404、200、304等HTTP状态
- 初识Python
- Java ArrayDeque源码剖析
- WinDBG调试dNet程序总结
- poj 2241 && uva 437 The Tower of Babylon(DP)
- 浙大PAT 1020. Tree Traversals (25)
- WorkerMan学习篇:websocket+workerman聊天功能设计(一):简单认证
- Jquery的4种事件绑定
- android关于表情图片复制与粘贴
- 旋涡JAVA笔记--正则表达式
- 红宝书OpenGL环境建立
- WorkerMan学习篇:websocket+workerman聊天功能(二):同步在线用户列表
- PDO数据访问抽象层
- C++ Const深入解析