AcWing 779. 最长公共字符串后缀
原题链接
困难
作者:
再泽
,
2024-01-28 17:25:32
,
所有人可见
,
阅读 32
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n;
while(cin>>n,n!=0){
string s[200];
for(int i=0;i<n;i++){
cin>>s[i];
}
int min=0,k=0;//k为最小串的后缀长度
string mstr;//最小串
for(int i=1;i<n;i++)
if(s[i].size()<s[i-1].size())min=i;
mstr=s[min];
for(int i=mstr.size()-1;i>=0;i--){
for(int j=0;j<n;j++){
if(mstr[i]!=s[j][s[j].size()-mstr.size()+i]){
i=0;
k--;//这步不要忘了,因为break后还会k++
break;
}
}
k++;
}
cout<<mstr.substr(mstr.size()-k)<<endl;
}
return 0;
}