#include
#include
using namespace std;
int Maxsubstr(string a,string b)
{
unsigned int s1,s2;
int count=0,Max=0;
for(unsigned int i=0;a[i]!=’\0’;++i)
{
for(unsigned int j=0;b[j]!=’\0’;++j)
{
s1=i; s2=j;
while(a[s1]==b[s2]&&s1<a.length() && s2<b.length())
{
s1++; s2++; count++;
}
if(count>Max)
{
Max=count;
}
count=0;
}
}
return Max;
}
int main()
{
string s1,s2;
cin>>s1;
cin>>s2;
for(unsigned int i=0;i<s1.length();++i)
{
s1[i]=tolower(s1[i]);
}
for(unsigned int i=0;i<s2.length();++i)
{
s2[i]=tolower(s2[i]);
}
cout<<Maxsubstr(s1,s2)<<endl;
return 0;
}
计算两个字符串最大公共字串的长度,字符不区分大小写
最新推荐文章于 2026-04-24 02:42:35 发布
本文介绍了一种使用C++编程语言实现寻找两个字符串之间的最长公共子串的方法。通过双重循环遍历并比较两个输入字符串,算法能够找出并返回最长的匹配子串长度。为了确保比较不受大小写影响,还特别加入了将所有字符转换为小写的预处理步骤。

288

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



