您的位置:首页 > 其它

求两个字符串的最大公共子串 ,不区分大小写

2014-08-25 23:38 267 查看
<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;
}




                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: