<pre name="code" class="cpp"><pre name="code" class="cpp">#include <iostream>
#include <string.h>
#include <string>
using std::cout;
using std::cin;
using std::endl;
using std::string;
int getCommonStrLength(const char * pFirstStr, const char * pSecondStr);
int main()
{
string str[2];
for(int i=0;i<2;++i)
{
cin>>str[i];
}
int max=getCommonStrLength(str[0].c_str(),str[1].c_str());
cout<<max<<endl;
return 0;
}
int getCommonStrLength(const char * pFirstStr, const char * pSecondStr)
{
int max=0;
for(int i=0;i<strlen(pFirstStr);++i)
{
for(int k=0;k<strlen(pSecondStr);++k)
{
int j=0;
while(tolower(pFirstStr[i+j])==tolower(pSecondStr[k+j]))
{
++j;
if((i+j)>=strlen(pFirstStr) || (k+j)>=strlen(pSecondStr))
{
break;
}
}
if(max<j)
max=j;
}
}
return max;
}
求两个字符串的最大公共子串 ,不区分大小写
最新推荐文章于 2025-05-25 23:11:24 发布
本文介绍了一个使用C++实现的寻找两个字符串之间最长公共子串的算法。该算法首先接收用户输入的两个字符串,然后通过两层循环遍历并比较这两个字符串的所有可能子串,找出最长的匹配部分。
1028

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



