题目描述
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6e085cdbd5122ab19eb1d62b2c875cc2.png)
分析:找出最长公共后缀,可以先把字符串翻转,转换成找前缀方便处理。完后循环遍历即可
#include<algorithm>
#include<iostream>
#include<string>
#include<cstdio>
using namespace std;
string str[105];
int main(){
int n;
cin>>n;
getchar();
int len=256;
string result="";
for(int i=0;i<n;i++){
getline(cin,str[i]);
len=min(len,(int)str[i].length());
reverse(str[i].begin(),str[i].end());
}
bool flag=true;
for(int i=0;i<len&&flag;i++){
for(int j=1;j<n&&flag;j++){
if(str[j][i]!=str[0][i]){
flag=false;
}
}
if(flag){
result+=str[0][i];
}
}
reverse(result.begin(),result.end());
if(result==""){
printf("nai\n");
}
else{
printf("%s\n",result.c_str());
}
}