洛谷P1030 求先序排列

洛谷P1030 求先序排列

[NOIP2001 普及组] 求先序排列

文章目录

题目描述

给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,且二叉树的节点个数 \\le 8)。

输入格式

共两行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。

输出格式

共一行一个字符串,表示一棵二叉树的先序。

样例 #1

样例输入 #1

复制代码
BADC
BDCA

样例输出 #1

复制代码
ABCD

提示

【题目来源】

NOIP 2001 普及组第三题

正确代码

c++ 复制代码
#include <bits/stdc++.h>
using namespace std;
/**
  *author: 枫飘长安
  *date: 2024/4/14
  *fileName: P1030.cpp
  *description: TODO
  **/
typedef long long ll;
const int MAXN = 1e6+10;

string inord,postord;

void beforeOrder(string in, string after);

int main (){
    cin >> inord >> postord;
    beforeOrder(inord,postord);
    return 0;
}

void beforeOrder(string in, string after) {
    if (in.size() == 0) return;
    char root = after[after.size()-1];
    cout << root;
    int pos = in.find(root);
    beforeOrder(in.substr(0,pos),after.substr(0,pos));
    beforeOrder(in.substr(pos+1),after.substr(pos,after.size()-pos-1));
}
相关推荐
小镇敲码人7 小时前
探索华为CANN框架中的ACL仓库
c++·python·华为·acl·cann
梵刹古音7 小时前
【C语言】 指针基础与定义
c语言·开发语言·算法
Ekehlaft7 小时前
这款国产 AI,让 Python 小白也能玩转编程
开发语言·人工智能·python·ai·aipy
rit84324997 小时前
MATLAB中Teager能量算子提取与解调信号的实现
开发语言·matlab
开源技术7 小时前
Python GeoPandas基础知识:地图、投影和空间连接
开发语言·ide·python
Cult Of7 小时前
Alicea Wind的个人网站开发日志(2)
开发语言·python·vue
我找到地球的支点啦7 小时前
通信扩展——扩频技术(超级详细,附带Matlab代码)
开发语言·matlab
啊阿狸不会拉杆7 小时前
《机器学习导论》第 5 章-多元方法
人工智能·python·算法·机器学习·numpy·matplotlib·多元方法
liu****8 小时前
2.深入浅出理解虚拟化与容器化(含Docker实操全解析)
运维·c++·docker·容器·虚拟化技术
微小冷8 小时前
Rust异步编程详解
开发语言·rust·async·await·异步编程·tokio