题目描述:
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
说明: 所有输入只包含小写字母 a-z 。
思路:
先找到最短的字符串,以它的长度为循环条件,查找与它前缀相同的字符串
代码:
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
string ans = "";
if(strs.empty())
return ans;
int size = strs.size();
string Min = strs[0];
for(int i = 0; i < size; i++)//找最短的字符串
if(strs[i].size() < Min.size())
Min = strs[i];
for(int i = 0; i < Min.size(); i++)
{
for(int j = 0; j < size; j++)
if(Min[i] != strs[j][i])
return ans;
ans += Min[i];
}
return ans;
}
};