1020. Tree Traversals (25)

简介: //给定后序和中序遍历 要求输出层序遍历#include #include #include using namespace std;const int maxn = 31;int n;struct node ...
//给定后序和中序遍历 要求输出层序遍历
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
const int maxn = 31;
int n;
struct node { int data; node *l, *r;};
vector<int> post(maxn), in(maxn), level;
node *build(int postL, int postR, int inL, int inR){
    if(postL > postR) return NULL;
    node *root = new node;
    root->data = post[postR];
    int k;
    for (k = inL; k <= inR; k++)
        if(in[k] == post[postR]) break;
    int leftnum = k - inL;
    root->l = build(postL, postL + leftnum - 1, inL, k - 1);
    root->r = build(postL + leftnum, postR - 1, k + 1, inR);
    return root;
}
void bfs(node *root){
    queue<node*> q;
    q.push(root);
    while (!q.empty()) {
        node *now = q.front();
        q.pop();
        level.push_back(now->data);
        if(now->l) q.push(now->l);
        if(now->r) q.push(now->r);
    }
}

int main(){
    cin >> n;
    for(int i = 0; i < n; i++) cin >> post[i];
    for(int i = 0; i < n; i++) cin >> in[i];
    node *root = build(0, n-1, 0, n-1);
    bfs(root);
    for (int i = 0; i < level.size(); i++)
        printf("%d%c", level[i], i == (int)level.size() - 1 ? '\n' : ' ');

    return 0;
}
目录
相关文章
|
Rust 开发工具 开发者
Ruff代码分析
Ruff代码分析
224 0
|
Perl
[!] Unable to add a source with url `https://github.com/CocoaPods/Specs.git` named `cocoapods`. Y...
[!] Unable to add a source with url `https://github.com/CocoaPods/Specs.git` named `cocoapods`. Y...
1975 0
|
JSON 前端开发 测试技术
WEB-UI自动化测试实践
为了满足多页面功能及流程的需求及节省工时,设计了这款UI 自动化测试程序,旨在提供接口,集成到蜗牛自动化测试框架,方便用例的设计。
|
NoSQL 开发工具 数据库
node中dotenv包基本使用
dotenv包在node中的基本使用,将.env文件加载到中process. env中进行使用
556 0
node中dotenv包基本使用
|
机器学习/深度学习 JavaScript 物联网
温湿度计设备通过阿里云IoT物联网套件上报数据到钉钉群机器人实践
温湿度计通过MQTT协议连接到IoT套件,规则引擎针对数据上报Topic配置转发到函数计算(FunctionComputer)中编写好的函数pushData2DingTalk,Nodejs脚本函数处理数据,post到钉钉群机器人
4575 0
|
Web App开发 前端开发 JavaScript
BootStrap, React, Vue的比较
目前, 个人了解的前端比较流行的框架是三个:     BootStrap, React, Vue 想要为公司选一个作为接下来的前端技术研发方向, 因此作了一番调查, 有点浅见.
3863 0
|
测试技术 数据格式 XML
URLTester一个URL测试工具
URLTester是一个URL测试工具,最主要的一个特色是:当一个域名对应多个IP地址时,不用修改hosts文件,即可完成对这个域名映射到不同IP地址的测试。
1766 0
|
网络安全 开发工具 git
git 专题
.gitignore文件示例: .classpath .project .idea/ .settings/ target/ *~ *.iml *.log *.tmp   …or create a new repository on the command line echo "# docs" >> README.
4423 0
|
6月前
|
机器学习/深度学习 人工智能 数据挖掘
【人工智能】Transformers之Pipeline(一):音频分类(audio-classification)
【人工智能】Transformers之Pipeline(一):音频分类(audio-classification)
181 0

热门文章

最新文章