当前位置:网站首页>二叉树专题--P1030 [NOIP2001 普及组] 求先序排列
二叉树专题--P1030 [NOIP2001 普及组] 求先序排列
2022-07-02 07:21:00 【Morgannr】
[NOIP2001 普及组] 求先序排列
题目描述
给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度$ \le 8$)。
输入格式
2 2 2行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。
输出格式
1 1 1行,表示一棵二叉树的先序。
样例 #1
样例输入 #1
BADC
BDCA
样例输出 #1
ABCD
提示
【题目来源】
NOIP 2001 普及组第三题
#define _CRT_SECURE_NO_WARNINGS 1
#include <bits/stdc++.h>
using namespace std;
//#define int long long
//#define map unordered_map
const int N = 10;
map<char, int> l, r, d;
char in[N], post[N];
int dfs1(int il, int ir, int pl, int pr)
{
if (pl > pr) return -1;
char root = post[pr];
int k = d[root];
l[root] = dfs1(il, k - 1, pl, k - 1 - il + pl);
r[root] = dfs1(k + 1, ir, k - il + pl, pr - 1);
return k;
}
void dfs2(int u)
{
if (u == -1) return;
cout << in[u];
if (l[in[u]] != -1) dfs2(l[in[u]]);
if (r[in[u]] != -1) dfs2(r[in[u]]);
}
signed main()
{
int T = 1; //cin >> T;
while (T--)
{
cin >> in >> post;
for (int i = 0; in[i]; ++i)
{
d[in[i]] = i;
}
int n = strlen(in);
int root = dfs1(0, n - 1, 0, n - 1);
dfs2(root);
puts("");
}
return 0;
}
边栏推荐
- LeetCode+ 76 - 80 暴搜专题
- Beautiful and intelligent, Haval H6 supreme+ makes Yuanxiao travel safer
- PCL 点云转深度图像
- HDU1234 开门人和关门人(水题)
- SQOOP 1.4.6 INSTALL
- 【ARK UI】HarmonyOS ETS的启动页的实现
- 4. Random variables
- Shell programming 01_ Shell foundation
- Database dictionary Navicat automatic generation version
- Nodejs+express+mysql simple blog building
猜你喜欢
随机推荐
Record attributeerror: 'nonetype' object has no attribute 'nextcall‘
Hdu1228 a + B (map mapping)
js数组常用方法
AttributeError: type object ‘Image‘ has no attribute ‘fromarray‘
长投学堂上面的账户安全吗?
【ARK UI】HarmonyOS ETS的启动页的实现
Windows环境MySQL8忘记密码文件解决方案
flume 190 INSTALL
[TS] 1368 seconds understand typescript generic tool types!
JSP webshell免杀——webshell免杀
13. Semaphore critical zone protection
华为游戏初始化init失败,返回错误码907135000
Flink submitter
Jsp webshell Free from killing - The Foundation of JSP
PCL 从一个点云中提取一个子集
MySQL environment configuration
互联网快讯:腾讯会议应用市场正式上线;Soul赴港递交上市申请书
4.随机变量
LabVIEW为什么浮点数会丢失精度
Ks009 implement pet management system based on SSH