779最长公共字符串(不会)
作者:
什么意思O_o
,
2024-10-29 17:47:17
,
所有人可见
,
阅读 2
#include<iostream>
using namespace std;
const int N=200;
int n;
string str[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) //len>0
{
bool success=true;
for(int i=1;i<n;i++) //枚举所有字符串,个数要小于输入的n,看后len个字符是否相等
{
bool is_same=true; //设置布尔变量,相等为true
for(int j=1;j<=len;j++) //从1开始遍历这个字符串
if(str[0][str[0].size()-j]!=str[i][str[i].size()-j]) //如果第0个字符串与第i个字符串不匹配
{
is_same=false;
break;
}
if(!is_same)
{
success=false;
break;
}
}
if(success) break;
len--;
}
cout<<str[0].substr(str[0].size()-len)<<endl;
}
return 0;
}