#include<iostream>
#include<string>
#include<cstdio>
#include<algorithm>
using namespace std;
string longest_common_suffix(string a,string b)
{
string tmp="";
int len1=a.size()-1;
int len2=b.size()-1;
while(len1>=0 && len2>=0)
{
if(a[len1]==b[len2]) {
tmp=a[len1]+tmp;
len1--;
len2--;
}
else break;
}
if(tmp=="") tmp="nai";
return tmp;
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
cin.get();
string a,b,c;
getline(cin,a);
for(int i=1;i<n;i++)
{
getline(cin,b);
c=longest_common_suffix(a,b);
a=c;
}
printf("%s\n",a.c_str());
}
return 0;
}
ZJU-PAT 1077. Kuchiguse (20) 浙大2014年上机复试第一题
最新推荐文章于 2019-06-29 20:37:00 发布
本文介绍了一个用于寻找两个字符串的最长公共后缀的C++程序。该程序通过比较两个输入字符串从末尾开始逐个字符对比,直到找到不匹配的字符为止。此算法在文本处理、生物信息学等领域中具有广泛应用。
1989

被折叠的 条评论
为什么被折叠?



