两个字符串的最大公共子串
2010-02-08 09:51
351 查看
char *commonstr(char *str1, char *str2)
{
char *p1, *p2, *q1, *q2, *destp;
char *substr;
int max=0, len;
p1 = str1;
while((*p1)^0)
{
q1=str2;
while((*q1)^0)
{
len=0;
p2=p1;
q2=q1;
while(((*p2)^0)&((*q2)^0))
{
if(*p2==*q2)
{
p2++;q2++;len++;
}
else
break;
}
if(len>max)
{
max = len;
destp =p1;
}
q1++;
}
p1++;
}
substr=(char*)malloc(sizeof(char)*max+1);
memset(substr,0x0,sizeof(substr));
strncpy(substr,destp,max);
return substr;
}
{
char *p1, *p2, *q1, *q2, *destp;
char *substr;
int max=0, len;
p1 = str1;
while((*p1)^0)
{
q1=str2;
while((*q1)^0)
{
len=0;
p2=p1;
q2=q1;
while(((*p2)^0)&((*q2)^0))
{
if(*p2==*q2)
{
p2++;q2++;len++;
}
else
break;
}
if(len>max)
{
max = len;
destp =p1;
}
q1++;
}
p1++;
}
substr=(char*)malloc(sizeof(char)*max+1);
memset(substr,0x0,sizeof(substr));
strncpy(substr,destp,max);
return substr;
}
相关文章推荐
- 两个或N个字符串最大公共子串算法
- 找出两个字符串中最大的公共子串(java实现)
- java实现字符串匹配问题之求两个字符串的最大公共子串
- 找出两个字符串的最大公共子串
- 求两个字符串的最大公共子串
- 两个或N个字符串最大公共子串算法
- C++实现求两个字符串的最大公共子串
- 找出两个字符串的最大公共子串
- java实现字符串匹配求两个字符串的最大公共子串
- (Relax 后缀数组1.4)POJ 2774 Long Long Message(求两个字符串公共子串的最大长度)
- 从两个顺序的字符串中寻找最大公共子串
- 找出两个字符串中最大的公共子串的简单实现
- 面试题之求两个字符串的最大公共子串
- 两个字符串的最大公共子串
- 编程实现查找两个字符串的最大公共子串 示例:"aocdfe"和"pmcdfa"最大公共子串为"cfd"
- 查找两个字符串中的最大公共子串
- LCS求两个字符串的最大公共子串
- 求两个字符串最大公共子串
- 求两个字符串的最大公共子串
- 获取两个字符串中最大的公共子串