两字符串比较 找出最大公共字串 11月18日

来源:互联网 发布:淘宝网上代购是真的吗 编辑:程序博客网 时间:2024/04/30 21:13

 #include<iostream>

using namespace std;

char * maxstr(const char* source,const char* dest)
{
 const char* str_short;
 const char* str_long;
 if(*source==NULL || *dest==NULL)
 {
  return NULL;
 }
 if(strlen(source)<strlen(dest))
 {
  str_short=source;
  str_long=dest;
 }
 else
 {
  str_short=dest;
  str_long=source;
 }

 int len=strlen(str_short)+1;
  char* str_sub;
 str_sub = (char *)malloc(sizeof(char) * len);
 for(int i=strlen(str_short);i>0;i--)
 {
  for(int j=0;j<=strlen(str_short)-i;j++)
  {
    memcpy(str_sub,&str_short[j],i);
    str_sub[i]='/0';
    if(strstr(str_long,str_sub)!=NULL)
     return str_sub;
  }
 
 }
 return NULL;
}

int main()
{
 char source[]="56789";
 char dest[]="45567894546";
 char *re=maxstr(source,dest);
 cout<<re<<endl;
 return 0;
}

原创粉丝点击