779.最长公共后缀
作者:
不想考试
,
2024-11-24 22:15:38
,
所有人可见
,
阅读 1
#include<iostream>
using namespace std;
const int N = 200;
int n;
string s[N];
int main()
{
while(cin >> n,n)
{
int len = 2000;// 每次都要初始化len,不然长度不够
for(int i = 0;i < n;i ++)
{
cin >> s[i];
if(len > s[i].size()) len = s[i].size(); //找出最小字符串长度
}
while(len)
{
bool same = true;
for(int i = 1;i < n; i ++) //枚举n个字符串,从第一个开始枚举
{
for(int j = 1;j <= len;j ++)
if(s[0][s[0].size() - j] != s[i][s[i].size() - j] ) //从最后一个字符开始判断各个字符串后缀
{
same = false;
break;
}
}
if(same) break;
len --;
}
cout << s[0].substr(s[0].size() - len) << endl;
}
return 0;
}