题目描述:
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
示例 1:
输入: ["flower","flow","flight"] 输出: "fl"
示例 2:
输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。
代码如下:
string longestCommonPrefix(vector<string>& strs)
{
if (strs.size() == 0)return "";
int n = -1;
for (int j = 0; j < strs[0].length(); j++)
{
for (int i = 1; i < strs.size(); i++)
{
if (strs[i].length() - 1 < j || strs[i][j] != strs[0][j])
{
if (n < 0)
return "";
else
return strs[0].substr(0, n + 1);
}
}
n = j;
}
return strs[0].substr(0, n + 1);
}