Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
99702 modongtao 已知后序、中序遍历序列求前序遍历序列 C++ 通过 100 0 MS 252 KB 610 2023-08-23 16:00:09

Tests(5/5):


#include <bits/stdc++.h> using namespace std; string a, b; void dfs(int a1, int a2, int b1, int b2) { if (a1 > a2 || b1 > b2) { // JUMP TO A NULL NOSW return; } // cout << a1 << " " << a2 << " " << b1 << " " << b2 << endl; if (a1 == a2) { cout << a[a1]; return; } char mid = a[a2]; int midp; for (int i = b1; i <= b2; i++) { if (b[i] == mid) { midp = i; break; } } cout << mid; dfs(a1, a1 + (midp - b1 - 1), b1, midp - 1); dfs(a1 + (midp - b1), a2-1, midp + 1, b2); } int main() { cin >> a >> b; dfs(0, a.size()-1, 0, b.size()-1); return 0; }


测评信息: