Unknown Error
查看原帖
Unknown Error
890321
mooktian楼主2023/8/6 10:04

本地编译没问题,测试样例也ok,思路很清晰,这题本身也很水,为什么会这样啊?

#include <iostream>
using namespace std;
string s1,s2; // s1是中序,s2是先序
void dfs(string s1,string s2) {
	char root = s2[0];
	int l = s1.find(root) , r = s1.size() - l - 1;
	string s1left = s1.substr(0,l) , s1right = s1.substr(l+1,r);
	string s2left = s2.substr(1,l) , s2right = s2.substr(l+1,r);
	if(l) {
		dfs(s1left,s2left);
	}
	if(r) {
		dfs(s1right,s2right);
	}
	cout << root;  
} 
int main(){
	while(cin>>s2>>s1) {
		dfs(s1,s2);
		cout << endl;
	}
    return 0;
}

2023/8/6 10:04
加载中...