获取c++中的最大公共字符串
Get Maximum Common String in C++?
我有两个字符串:
"abcdef"answers"123abcdef123"
我正在寻找一个函数,得到这2个字符串作为参数,并返回最大的常见字符串。所以在这种情况下,它应该返回"abcdef"。
答案:
字符串通用(字符串第一,字符串第二){
string lcsub, max;
for (unsigned int i=0; i < first.length(); i++)
for (unsigned int j=0; j < second.length(); j++)
for (unsigned int k=1; k <= first.length() && k <= second.length(); k++){
if (first.substr(i,k) == second.substr(j,k)){
lcsub = first.substr(i,k);
}
else{
if (lcsub.length() > max.length())
max=lcsub;
lcsub="";
}
}
if (lcsub.length() > max.length())
max=lcsub;
lcsub="";
cout << "Longest Common Substring: " << max << endl;
return max;
}