洛谷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));
}
相关推荐
Slow菜鸟1 分钟前
Java基础 | JSON 处理手册
java·开发语言·json
_OP_CHEN1 分钟前
【Python基础】(五)Python 库使用全攻略:从标准库到第三方库,让开发效率翻倍
开发语言·python·pip·项目实战·python标准库·python第三方库
CodeByV3 分钟前
【算法题】滑动窗口 (二)
算法
浮尘笔记4 分钟前
Go语言条件变量sync.Cond:线程间的协调者
开发语言·后端·golang
旧梦吟7 分钟前
脚本网页 linux内核源码讲解
linux·前端·stm32·算法·html5
后端小张1 小时前
【JAVA 进阶】SpringMVC全面解析:从入门到实战的核心知识点梳理
java·开发语言·spring boot·spring·spring cloud·java-ee·springmvc
2301_789015621 小时前
C++:二叉搜索树
c语言·开发语言·数据结构·c++·算法·排序算法
帅那个帅2 小时前
PHP里面的抽象类和接口类
开发语言·php
咖啡の猫8 小时前
Python字典推导式
开发语言·python
leiming68 小时前
C++ vector容器
开发语言·c++·算法