0
1
mirror of https://git.sb/baoshuo/OI-codes.git synced 2024-12-26 17:52:00 +00:00
OI-codes/Luogu/problem/P1827/P1827.cpp
2021-01-02 15:30:52 +08:00

29 lines
567 B
C++

#include <bits/stdc++.h>
using namespace std;
string pre, in, post;
void dfs(string pre, string in) {
if (pre.empty()) {
return;
}
char root = pre[0];
int k = in.find(root);
pre.erase(pre.begin());
string leftpre = pre.substr(0, k);
string rightpre = pre.substr(k);
string leftin = in.substr(0, k);
string rightin = in.substr(k + 1);
dfs(leftpre, leftin);
dfs(rightpre, rightin);
post.push_back(root);
}
int main() {
cin >> in >> pre;
dfs(pre, in);
cout << post << endl;
return 0;
}