根据先序遍历和后序遍历求二叉树高度,用pta的测试模块测试能输出正确结果,但是提交后同样的输入pta的反馈是运行时错误,怎么改比较合适?
#include <string>
#include <iostream>
using namespace std;
int num = 0;//层数
int max1 = 0;
void find(string s, string pre, string in) {
char x = pre[0];
num++;
if (pre.length() == 1) {
max1 = num > max1 ? num : max1;
return;
}
string pre1, pre2, in1, in2;
int i = in.find(x);
in1 = string(in, 0, i);
in2 = string(in, i + 1);
pre1 = string(pre, 1, in1.length());
pre2 = string(pre, 1 + in1.length());
find(s, pre1, in1);
num--;
find(s, pre2, in2);
}
int main()
{
string s, t;
int n;
cin >> n >> s >> t;
find(s, s, t);
cout << max1;
return 0;
}