直接寻找数组中最短的那个string作为启示查找数组,然后用其与第一个字符串进行比较,再将结果与第二个字符串进行比较,以此类推得出结果
class Solution {
public:
string longestCommonPrefix(vector& strs) {
if(strs.empty())
{
return "";
}
int minlength=strs[0].length();
int index=0;
for(int i=0;i<strs.size();i++)
{
if(strs[i].length()<minlength)
{
minlength= strs[i].length();
index=i;
}
}
string res=strs[index];
for(int i=0;i<strs.size();i++)
{
compare(res,strs[i]);
}
return res;
}
void compare (string &a,string b)
{
int i=0;
while(i<a.length()&&i<b.length())
{
if(a[i]==b[i])
{
i++;
}
else break;
}
if(i==0){
a="";
}
a= a.substr(0,i);
}
};