AcWing 779. 最长公共字符串后缀
原题链接
困难
作者:
半兽人的夕阳
,
2022-02-21 19:11:21
,
所有人可见
,
阅读 155
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 210;
string str[N];
int n;
int main(){
while( cin >> n, n){
int len=1000;
for (int i = 0; i < n; i ++ ) {
cin >> str[i];
if(len > str[i].size())
len= str[i].size();
}//输入每一个字符串,记录最小的长度
while(len){
bool succes= true;//判断是否是最大的公共后缀
for(int i=1; i< n; i++){
bool is_same= true;//判断是否相同
for (int j = 1; j <= len; j ++ ){
if(str[0][str[0].size() - j] != str[i][str[i].size() - j]){
is_same = false;//如果,第一个字符串和第i个字符串之中,有某一个字符不相等,那么跳出循环
break;
}
}
if(!is_same){
succes = false;
break;
}
}
if(succes) break;
len --;
}
cout<< str[0].substr(str[0].size() - len) << endl;;
}
return 0;
}
求关注