Write a function to find the longest common prefix string amongst an array of strings.
题目大意
写一个函数来找出所有字符串里最长的公共前缀。
难度系数:容易
实现
题目不难,基本思路大家都能想到,就是一些细节可能会遗漏。这个也没啥好算法,不管怎样,都需要一个个去比较。 所以没啥好说的,上代码:
string longestCommonPrefix(std::vector<string> &strs)
{
if (strs.empty()) return "";
int i;
if (strs[0].size() == 0)
return "";
for (int j = 0; j < strs[0].size(); ++j) {
for (i = 1; i < strs.size(); ++i)
{
if (strs[0][j] != strs[i][j]) {
return j==0 ? "" : strs[0].substr(0, j);
}
}
if (i != strs.size()) {
return j==0 ? "" : strs[0].substr(0, j);
}
}
return strs[0];
}