求出2个字符串中的最大公共子串
生活随笔
收集整理的這篇文章主要介紹了
求出2个字符串中的最大公共子串
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給定字符串A和B,輸出A和B中的最大公共子串。 ? ? 比如A="aocdfe" B="pmcdfa" 則輸出"cdf"
void commonstring(char *str1, char *str2, char *maxSubstr) {int i = 0, j = 0, k = 1, maxPos = -1, maxLen = 0;if ((NULL == str1) || (NULL == str2) || (NULL == maxSubstr)) {return NULL;} for (i=0; i < strlen(str1); i++){for (j=0; j < strlen(str2); j++){if (str1[i] == str2[j]){for (k=1; (str1[i+k] == str2[j+k]) && (str1[i+k]!='\0'); k++);}if (k > maxLen){maxPos = i;maxLen = k;}}}if (-1 == maxPos){maxSubstr[0] = '\0';}else{memcpy(maxSubstr, str1+maxPos, maxLen);maxSubstr[maxLen] = '\0';} }
總結
以上是生活随笔為你收集整理的求出2个字符串中的最大公共子串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何让linux服务器同步互联网时间
- 下一篇: 【5年Android从零复盘系列之三十四