PAT--1020. Tree Traversals
来源:互联网 发布:知乎问题数量 编辑:程序博客网 时间:2024/06/06 02:41
pat 1020
题解
后序中序遍历建树,再层序遍历。
#include <iostream>#include <cstdio>#include <queue>#include <algorithm>using namespace std;struct node{ int val; node* left; node* right; node(int v):val(v), left(NULL), right(NULL){}};int inorder[35], postorder[35];node* build(int* in, int* post, int n){ if(n == 0) return NULL; node* root = new node(post[n - 1]); int p = 0; while(in[p] != post[n - 1]) p++; root->left = build(in, post, p); root->right = build(in + p + 1, post + p, n - p - 1); return root;}void level(node* root, int n){ queue<node*> Q; Q.push(root); while(!Q.empty()){ node* p = Q.front(); Q.pop(); cout << p->val; if(--n) cout << " "; if(p->left) Q.push(p->left); if(p->right) Q.push(p->right); }}int main(){ int n; cin >> n; for(int i = 0; i < n; ++i) cin >> postorder[i]; for(int i = 0; i < n; ++i) cin >> inorder[i]; node* root = build(inorder, postorder, n); level(root, n); return 0;}
0 0
- 【PAT】1020. Tree Traversals
- PAT 1020. Tree Traversals
- PAT 1020. Tree Traversals
- PAT--1020. Tree Traversals
- PAT 1020. Tree Traversals
- PAT 1020. Tree Traversals
- 【PAT】1020. Tree Traversals
- 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)
- android面试相关知识
- retrolambda使用教程
- 认识Hibernate
- Qt-装饰者模式
- Activity常见的生命周期分析
- PAT--1020. Tree Traversals
- 【MITK】Ubuntu 64下编译MITK kinect模块
- WCF入门(二)——异步操作
- flask 博客中的图像问题
- js中==与===的区别
- Java缓存新标准(javax.cache)
- Maven常用命令与Maven聚合
- C#——JSON转换为对象
- 虚拟机 网络模式简介 及桥接模式设置