假设存在公共后缀,往后依次匹配最短的字符串长度位数
#include <iostream>
#include <algorithm>
#include <climits>
using namespace std;
const int N=200;
int main()
{
string s[N];
int n;
while(cin>>n,n)
{
int len=INT_MAX;
for(int i=0;i<n;i++)
{
cin>>s[i];
len=min(len,(int)s[i].size());
}
int k;
for(k=0;k<len;k++)
{
int x=1;
for(int i=1;i<n;i++)//往后寻找len位
{
if(s[0][s[0].size()-k-1]==s[i][s[i].size()-k-1]) x++;//公共字符一定等于n
}
if(x!=n) break;
}
cout<<s[0].substr(s[0].size()-k)<<endl;
}
return 0;
}