编程查找两个字符串最大公共子串

来源:互联网 发布:开淘宝网店视频教程 编辑:程序博客网 时间:2024/05/29 13:44
#include<iostream>#include<string.h>#include<stdlib.h>using namespace std;char *ss(char *a,char *b){    char *longstr,*shortstr;    if(a==NULL && b==NULL)        return NULL;    if(strlen(a)>strlen(b))    {        longstr=a;        shortstr=b;    }    else    {        longstr=b;        shortstr=a;    }    if(strstr(longstr,shortstr)!=NULL)        return shortstr;    char *substr=(char *)malloc(sizeof(char)*(strlen(shortstr)+1));    for(int i=strlen(shortstr)-1;i>0;i--)        for(int j=0;j<=strlen(shortstr)-i;j++)        {            memcpy(substr,shortstr+j,i);            substr[i]='\0';            if(strstr(longstr,substr)!=NULL)                return substr;        }    return NULL;}int main(){    char a[]="1223";    char b[]="223421";    char *c;    c=ss(a,b);    cout<<c;    return 0;}

0 0
原创粉丝点击