【发布时间】:2012-03-03 13:05:51
【问题描述】:
我有两个字符串,第一个的结束子字符串是第二个的起始子字符串,例如
string left : ONESTRING
string right : STRINGTWO
我必须合并它们以便生成的字符串是
result string : ONESTRINGTWO
公共子串的长度事先不知道。 如果开始和结束字符串不常见,我需要返回字符串的连接。
这就是我目前正在做的事情。
for(int i = 1;i< left.length();i++) {
//substring of length "i" from last of left string
string temp = left.substr(left.length() -1 -i,i);
if(temp.length() < right.length()) {
//check if the right string starts with the above substring
if (strncmp(right.c_str(), temp.c_str(), strlen(temp.c_str())) == 0 ) {
// common substring found, save this result
found = true;
result = left.substr(0,left.length()-i-1) + right;
}
}
}
if(found == true) {
return result;
} else {
return left + right;
}
我将感谢任何指向更简单实现(任何语言)的指针。
【问题讨论】:
-
检查
Java的答案,如果您有任何问题,请告诉我...
标签: string algorithm substring