洛谷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));
}
相关推荐
Henry Zhu1235 分钟前
Qt Model/View架构详解(五):综合实战项目
开发语言·qt·架构
孞㐑¥7 分钟前
算法—滑动窗口
开发语言·c++·经验分享·笔记·算法
历程里程碑11 分钟前
Linux 3 指令(3):进阶指令:文件查看、资源管理、搜索打包压缩详解
linux·运维·服务器·c语言·数据结构·笔记·算法
AI-小柒15 分钟前
从零入门大语言模型(LLM):系统学习路线与实践指南
大数据·开发语言·人工智能·学习·信息可视化·语言模型·自然语言处理
hhy_smile20 分钟前
Python environment and installation
开发语言·python
戌中横24 分钟前
JavaScript 对象
java·开发语言·javascript
crossaspeed24 分钟前
面向对象的三大特征和反射(八股)
java·开发语言
咋吃都不胖lyh25 分钟前
GBDT 中的前向分布算法和贪婪学习
学习·算法
leo__52028 分钟前
CLEAN算法仿真程序,用于雷达信号中的杂波抑制
算法
连山齐名30 分钟前
程序员棋谱之一——单例模式
开发语言·单例模式