洛谷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));
}
相关推荐
Re.不晚3 分钟前
JAVA进阶之路——无奖问答挑战3
java·开发语言
代码游侠4 分钟前
C语言核心概念复习——C语言基础阶段
linux·开发语言·c++·学习
㓗冽12 分钟前
60题之内难题分析
开发语言·c++·算法
大江东去浪淘尽千古风流人物13 分钟前
【VLN】VLN仿真与训练三要素 Dataset,Simulators,Benchmarks(2)
深度学习·算法·机器人·概率论·slam
dingdingfish20 分钟前
Bash学习 - 第3章:Basic Shell Features,第5节:Shell Expansions
开发语言·学习·bash
rainbow688921 分钟前
C++开源库dxflib解析DXF文件实战
开发语言·c++·开源
deepxuan22 分钟前
Day7--python
开发语言·python
John_ToDebug25 分钟前
Chromium安全架构深度解析:从悬空指针检测到内存安全防御体系
c++·chrome
D_evil__32 分钟前
【Effective Modern C++】第五章 右值引用、移动语义和完美转发:24. 区分万能引用和右值引用
c++
禹凕37 分钟前
Python编程——进阶知识(多线程)
开发语言·爬虫·python