AcWing 779. 最长公共字符串后缀
原题链接
困难
作者:
谢同学
,
2024-03-05 17:59:51
,
所有人可见
,
阅读 16
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int n;
string str[200];
//输入n个字符串
while(cin >> n, n){
int len = 200;
for(int i = 0; i < n; ++i){
cin >> str[i];
if(len > str[i].size()) len = str[i].size();//取最小的字符串长度
}
//循环后缀长度
while(len){
bool success = true;
//外层循环循环的是字符串个数
for(int j = 1; j < n; ++j){//第一个字符串不用判断
bool judge = true;
//内层循环表示在后缀长度一定的条件下逐个对比后缀字符
for(int i = 1; i <= len; ++i){
if(str[0][str[0].size() - i] != str[j][str[j].size() - i]){
judge = false;
break;
}
}
if(!judge){
success = false;
break;
}
}
if(success) break;
len--;
}
cout << str[0].substr(str[0].size() - len) << endl;
}
return 0;
}