AcWing 779. 最长公共字符串后缀
原题链接
简单
作者:
13._9
,
2024-07-23 23:10:25
,
所有人可见
,
阅读 1
#include<iostream>
#include<algorithm>
using namespace std;
const int N = 210;
string s[N];
int main()
{
int m;
while (cin >> m, m)
{
int len = 200;
for(int i = 0; i < m; i ++ )
{
cin >> s[i];
reverse(s[i].begin(), s[i].end()); //将容器[first, last)范围内的元素颠倒顺序放置
if(len > s[i].size()) len = s[i].size(); //len为需要判断的最大次数
}
string a;
int mark = -1;
for(int i = 0; i < len; i ++ )
{
a += s[0][i];
for(int j = 1; j < m; j ++ )
{
if (a[i] != s[j][i])
{
mark = i; //标记最终公共位置
break;
}
}
if(mark != -1) break;
}
if (mark == -1) // 说明没出现过a[i] != s[j][i]
for (int i = len - 1; i >= 0; i --)
cout << a[i];
else
for (int i = mark - 1; i >= 0; i --)
cout << a[i];
cout << endl;
}
return 0;
}