#include <iostream>
#include <string>
using namespace std;
//输入一行字符串,找出其中的相同且长度最长的字符串P227
pair<string, int> fun(string s){
string str = s;
string tem;
int maxlen = 0;
pair<string, int> res;
//双重循环+长度判断取出字符串的所有子串
for (int i = str.length() - 1; i>0; i--)
{
for (int j = 0; j<str.length(); j++)
{
if (i + j <= str.length()){
size_t t = 0;
size_t num = 0;
tem = str.substr(j, i);
t = str.find(tem);
num = str.rfind(tem);
//如果正查和反查的位置不同,则必重复出现
if (t != num)
{
res.first = tem;
res.second = t + 1;
return res;
}
}
}
}
return res;
}
int main(){
string str = "yyyabcdababjcabcegabcd";
pair<string, int> rs = fun(str);
cout << rs.first << "---" << rs.second << endl;
getchar();
return 0;
}
输入一行字符串,找出其中的相同且长度最长的字符串
最新推荐文章于 2023-09-26 23:51:35 发布