题解
2023-08-08 16:12:33
发布于:浙江
7阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int main(){
string str1 ,str2;
int m_length = 0 ,max = 0;
cin >> str1 >> str2;
max = min(str1.size(), str2.size());
str1 += str1; //因为是字符环,所以在原字符串后面再接上一个
str2 += str2;
for (int i = 0 ; i < str1.size() ; i++){ //遍历str1
int m = i;
for (int j = 0 ; j < str2.size() ; j++){ //遍历str2
int n = j;
int length = 0;
string _str;
if (str1[i] == str2[j]){ //如果有相同的字符,就开始while循环
while(length < max && str1[m] == str2[n]){ //length>max说明两个字符串相同或为倍数关系
_str += str1[m];
m++;
n++;
length++;
}
if (length > m_length){
m_length = length;
}
}
}
}
cout << m_length; //水题! :(
return 0;
}
这里空空如也
有帮助,赞一个