找出两个字符串中最大的公共子串的简单实现
来源:互联网 发布:江南大学网络教育好吗? 编辑:程序博客网 时间:2024/06/01 12:25
Short =abcde
Long =123456
Abcde
Abcde
Abcd
Bcde
Abc
Bcd
Cde
Ab
Bc
Cd
De
A
B
C
D
E
char * common_sub( char * str1, char *str2){assert((str2 != NULL) && (str1 != NULL)); char * shortstr = NULL; char * longstr = NULL;if(strlen(str1) > strlen(str2)){longstr = str1;shortstr = str2;}else{longstr = str2;shortstr =str1 ;}/*if (strstr(longstr, shortstr) != NULL){return shortstr;}*/char * subStr = new char[strlen(shortstr)+1];memset(subStr,0,strlen(shortstr)+1);for (size_t i = strlen(shortstr); i >0 ; i--){for (size_t 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 _tmain(int argc, _TCHAR* argv[]){char *pSub = NULL;pSub= common_sub("abcdef","de");if(pSub){cout<<pSub<<endl;delete pSub;pSub = NULL;}elsecout<<"no sub"<<endl;return 0;}
1 0
- 找出两个字符串中最大的公共子串的简单实现
- 找出两个字符串中最大的公共子串的简单实现
- 找出两个字符串中最大的公共子字符串
- 135、编程实现:找出两个字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串为 "cad"
- 找出两个字符串中最大的公共子串(java实现)
- 找出两个字符串的最大公共子串
- 找出两个字符串的最大公共子串
- 找出两个字符串的最大公共子串
- 找出两个字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串为"cad"
- 找出两个字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串为"cad"
- 找出两个字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串为"cad"
- 找出两个字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串为"cad"
- 找出两个字符串中最大公共子字符串,如"abccade"、"dgcadde"的最大子串为"cad"
- 找出两个字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串为"cad"
- Java找出两个字符串中最大的子串
- C++实现求两个字符串的最大公共子串
- 两个字符串的最大公共子串
- 两个字符串的最大公共子串
- 排序算法总结
- 关于phpmyadmin的密码登录
- HDU 2601 An easy problem
- Android动态加载dex技术初探
- 模板
- 找出两个字符串中最大的公共子串的简单实现
- 自定义控件
- 将中缀表达式转换为表达式树
- mybatis学习二
- MPPS SCU
- codeforces 268D Wall Bars
- 程序调试与异常处理
- StringTokenizer类的使用方法
- javascript对象实例化