求两个字符串的最大公共字符串的长度
int getCommonStrLength(char * pFirstStr, char * pSecondStr)
{
if (pFirstStr == NULL || NULL == pSecondStr)return 0;
int i, len1, len2, len, s1_start, s2_start, idx, curmax, max;
len1 = strlen(pFirstStr);
len2 = strlen(pSecondStr);
len = len1 + len2;
max = 0;
for (i = 0;
i < len;
i++)
{
s1_start = s2_start = 0;
if (i < len1)
s1_start = len1 - i;
//每次开始匹配的起始位置
else
s2_start = i - len1;
curmax = 0;
for (idx = 0;
(s1_start + idx < len1) && (s2_start + idx < len2);
idx++)
{
if (toupper(pFirstStr[s1_start + idx]) == toupper(pSecondStr[s2_start + idx]))
curmax++;
else//只要有一个不相等,就说明相等的公共字符断了,不连续了,要保存curmax与max中的最大值,并将curmax重置为0
{
max = curmax > max ? curmax : max;
curmax = 0;
}
}
max = curmax > max ? curmax : max;
}
return max;
}
【求两个字符串的最大公共字符串的长度】转载于:https://www.cnblogs.com/kennyael/p/9987783.html
推荐阅读
- 有句话忍很久了,女生要求买房怎么就物质了()
- 一起来学习C语言的字符串转换函数
- 刘婵为何不娶关羽的女儿为妻子,而为何要娶张飞的两个女儿
- 基于爱,才会有“愿望”当“要求”。2017.8.12
- 先放下|先放下 ,求一个好心情
- 说睡
- 字符串拼接成段落,换行符(\n)如何只执行n-1次
- https请求被提早撤回
- 遇到不正当请求怎么办
- C语言的版本比较