C/C++编程题之找出2个给定字符串中最长的公共子字符串
来源:互联网 发布:杭州的医疗大数据公司 编辑:程序博客网 时间:2024/05/16 18:37
/******************************************************************************************************Description 找出2个给定字符串中最长的公共子字符串Prototype void vProcTaskToCoreByLayerAndTime(unsigned int Layer,unsigned int* pDuration)Input Param char* pSrcStr1, char* pSrcStr2: 给定的2个字符串Output Param char* pSubStr : 从给定的字符串中找到的最长公共子串Return Value ********************************************************************************************************/#include <stdio.h>#include <string.h>char Small2Big(char ch){if(ch >= 'a' && ch <= 'z')return (ch-32);return ch;}void vGetTheLongestSubStringInTwoStrings(char* pSrcStr1, char* pSrcStr2, char* pSubStr){if(pSrcStr1 == NULL || pSrcStr2 == NULL || pSubStr == NULL)return;char word[1024];char tmpword[1024];memset(word,0x00,sizeof(word));memset(tmpword,0x00,sizeof(tmpword));int num = 0,tmp = 0,tmpStr1 = 0,flag = 0;unsigned int len1 = (unsigned int)strlen(pSrcStr1);unsigned int len2 = (unsigned int)strlen(pSrcStr2);for(unsigned int m = 0; m < len1; m++){tmpStr1 = m;tmp = 0;flag = 0;memset(tmpword,0x00,sizeof(tmpword));for(unsigned int i = 0; i < len2; ){char trans1 = Small2Big(pSrcStr1[m]);char trans2 = Small2Big(pSrcStr2[i]);if(trans1 == trans2){flag = 1;tmpword[tmp++] = pSrcStr1[m];m++;i++;continue;}tmpword[tmp] = '\0';if( flag == 1 && tmp >= num){strcpy_s(word,tmp+1,tmpword);memset(tmpword,0x00,sizeof(tmpword));num = tmp;tmp = 0;flag = 0;}else{memset(tmpword,0x00,sizeof(tmpword));tmp = 0;flag = 0;m = tmpStr1;}i++;}tmpword[tmp] = '\0';if( flag == 1 && tmp >= num){strcpy_s(word,tmp+1,tmpword);memset(tmpword,0x00,sizeof(tmpword));num = tmp;tmp = 0;flag = 0;}m = tmpStr1;}strcpy_s(pSubStr,num+1,word);}
0 0
- C/C++编程题之找出2个给定字符串中最长的公共子字符串
- 5. Longest Palindromic Substring 找出给定字符串中最长的子字符串
- 【c++】字符串中找出最长的连续数字字符串
- 给定一个字符串s,找出最长的回文子串
- 【C++】在字符串中找出连续最长的数字子串
- 找出字符串中最长的子串
- 求2个字符串的最长公共子串长度
- POJ 2774 找出2字符串 最长公共连续子串
- 找出给定字符串中第一个重复的字符串
- 找出两个字符串中最大的公共子字符串
- 两个字符串中最长公共子字符串
- 每天一道算法题(5)——求2个字符串的最长公共子序列和最长公共子字符串
- 给定一个字符串,找出该字符串的最长回文子串
- 135、编程实现:找出两个字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串为 "cad"
- 华为上机题:求N个字符串的最长公共子串,字符串长度不超过255。
- 找出给定字符串中第一个不重复的字符
- n个字符串的最长公共子序列
- 两个字符串的第一个最长公共子串
- canny算法原理
- redhat 7.0修改root密码
- C#学习日记24----事件(event)
- android - failed to pull a selection
- 【hihocoder】1237 : Farthest Point ->微软2016校招在线笔试题
- C/C++编程题之找出2个给定字符串中最长的公共子字符串
- android 加载大图片到内存
- hdu 1242 Resuce
- 设置python路径
- 1015. Reversible Primes
- 仿CSDN安卓客户端(三)-----利用Xlistview讲目录中的数据显示出来
- iOS开发者必备:四款后端服务工具
- 意大利学习笔记开篇
- 黑马程序员——集合