// 获取两字符串的最大重合子串
// strRes, strChild 原字符串
// strCoincidence 重合字符串
// begin, end 在 strRes 上的重合位置
// 返回重合长度
int StringCoincidence(string strRes, string strChild, string& strCoincidence, int& begin, int& end)
{
begin = 0, end = 0;
int s1 = (int)strRes.size(), s2 = (int)strChild.size();
for (int i = 0; i < s1; i++)
{
for (int j = 0; j < s2; j++)
{
if (strChild[j] == strRes[i])
{
int k = 1;
for (; j + k < s2 && i + k < s1; k++)
{
if (strChild[j + k] != strRes[i + k])
{
break;
}
}
if (k > end - begin)
{
begin = i;
end = i + k;
j += k;
}
}
}
}
strCoincidence = strRes.substr(begin, end - begin);
return end - begin;
}