查找字符串数组中的最长公共前缀
给n个字符串,求出他们的最长公共前缀(LCP)
举例:
s1="abc";
s2="abke"
s3=abbf;
则最长公共前缀s=ab;
string longestCommonPrefix(vector<string> &strs) {
if (strs.size() == 0)
return "";
string res = strs[0];
for (size_t i = 1; i < strs.size(); ++i) {
string cur = strs[i];
string temp = res;
res = "";
for (size_t j = 0; j <= min(cur.size(), temp.size()); ++j) {
if (cur[j] == temp[j])
res = res + cur[j];
else
break;
}
}
return res;
}
int main()
{
vector<string> v = { "abc","abk","ab" };
string s = longestCommonPrefix(v);
cout << s << endl;
system("pause");
return 0;
}