首AC
2024-07-16 23:08:58
发布于:上海
14阅读
0回复
0点赞
思路非常简单,取两字符串中最短的长度遍历,遍历的是待定重复部分的长度,从长到短发现存在重复部分后输出结束;没有重复部分最后输出0
#include<iostream>
#include<string>
using namespace std;
int main(){
string a,b;
cin>>a>>b;
if(a.size()>b.size()) swap(a,b);
for(int i=a.size();i>0;i--){
string s1=a.substr(0,i);
string s2=b.substr(b.size()-i,i);
string t1=a.substr(a.size()-1,i);
string t2=b.substr(0,i);
if(s1==s2||t1==t2) {
cout<<i;
return 0;
}
}
cout<<0;
return 0;
}
时间复杂度:
这里空空如也
有帮助,赞一个