这才是noip的水平(虽然也不是很难)
2025-08-19 09:16:35
发布于:北京
1阅读
0回复
0点赞
#include <iostream>
#include <string>
using namespace std;
void buildPreOrder(string in, string post) {
if (in.empty()) return;
char root = post.back();
cout << root; // 先序遍历直接输出根节点
int rootPos = in.find(root);
string leftIn = in.substr(0, rootPos);
string rightIn = in.substr(rootPos + 1);
string leftPost = post.substr(0, leftIn.size());
string rightPost = post.substr(leftIn.size(), rightIn.size());
buildPreOrder(leftIn, leftPost);
buildPreOrder(rightIn, rightPost);
}
int main() {
string inOrder, postOrder;
cin >> inOrder >> postOrder;
buildPreOrder(inOrder, postOrder);
cout << endl;
return 0;
}
这里空空如也
有帮助,赞一个