编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
示例 1:
输入: ["flower","flow","flight"] 输出: "fl"
示例 2:
输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z
。
个人AC答案
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
int minx = INT_MAX;
string str;
if(strs.empty()) return str;
bool flag = false;
for(auto i : strs)
{
minx = min(static_cast<int>(i.size()), minx);
if(i.empty()) return str;
}
for(int i = 0; i < minx; i++)
{
for(int j = 1; j < strs.size(); j++)
{
if(strs[0][i] != strs[j][i])
{
flag = true;
break;
}
}
if(flag) break;
else str += strs[0][i];
}
return str;
}
};