两字符串的最长公共子串问题
来源:互联网 发布:ubuntu安装后的15件事 编辑:程序博客网 时间:2024/06/07 05:20
某影音笔试题,说实话,这种题网上非常普遍,但笔试时候能完整无差错写出来的,只能呵呵了...
闲着做这题,整理了下,把这个程序贴上来吧。仅供参考,效率就不说了。
思路:遍历字符串,然后记录最长的子串。
代码如下:
/* 求公共最长子串 */typedef struct recode{int len;char *str;}ReNode;int Compare(char *strA, char *strB){int len = 0;while(*strA++ == *strB++){len++;}return len;}void ComString(char *strA, char *strB, char *comstr){int i, j;int lenA = 0, lenB = 0;int templen = 0;ReNode RecodeNode, TempNode;//入参检查memset(&TempNode, 0, sizeof(TempNode));memset(&RecodeNode, 0, sizeof(RecodeNode));lenA = strlen(strA);lenB = strlen(strB);for (i = 0; i <= lenA; i++){for (j = 0; j <= lenB; j++){if (strA[i] == strB[j]){templen = Compare(&strA[i], &strB[j]);TempNode.len = templen;TempNode.str = &strB[j];} if (TempNode.len > RecodeNode.len){RecodeNode.len = TempNode.len;RecodeNode.str = TempNode.str;}}}strncpy(comstr, RecodeNode.str, RecodeNode.len);//就是表达拷贝意思,此处有拷贝越界风险}
- 两字符串的最长公共子串问题
- 求两字符串的最长公共连续子串
- 字符串的最长公共子序列问题
- 字符串的最长公共子序列问题
- 获得两字符串的最长公共子字符串
- VB6求两个字符串最长公共子串的问题
- 求两个字符串最长公共子串的问题
- 两字符串求最长公共子字符串
- 最长公共子字符串问题
- 两字符串最长公共子序列的长度
- 求两个字符串最长公共子串(LCS问题) 两种思想
- 求多个字符串的最长公共子串
- 两个字符串的最长公共子串
- 两个字符串的最长公共子串
- 两个字符串的最长公共子串
- 两个字符串的最长公共子串
- 两个字符串的最长公共子串
- 求两字符串最长公共连续子串---C++编程
- 脚本语言为何难堪重任?
- 工具集合
- Oracle 11g R2安装手册 For Win7 (图文教程)
- 黑马程序员_java基础知识了解
- codeforces round171C
- 两字符串的最长公共子串问题
- eclipse与xcode项目共存,同classes与Resource
- PHP对字符串的处理
- Android 的 init.rc 文件简介
- Linux命令行Find小技巧
- 排序算法C++实现
- 各框架配合问题
- AsyncTask的坑,Handler,Looper与MessageQueue
- 非程序员的数据可视化