代码:
#include<bits/stdc++.h>
using namespace std;
char pre[55],in[55];
int n;
int Height(int prel,int prer,int inl,int inr)
{
if(prel>prer)
return 0;
//if(prel==prer)
//return 1;
int m=inl;
while(in[m]!=pre[prel])
m++;
return max(Height(prel+1,prel+m-inl,inl,m-1),Height(prel+m-inl+1,prer,m+1,inr))+1;
}
int main()
{
cin>>n>>pre>>in;
cout<<Height(0,n-1,0,n-1);
}
题目: