string longestCommonPrefix(vector<string>& strs)
{
if(strs.size() == 0)
return "";
if(strs.size() == 1)
return strs[0];
int len = strs.size(), min_val = INT_MAX;
//查找最短的字符串的长度,为了避免越界访问
for(int i = 0; i < len; ++i)
{
min_val = min(int(strs[i].size()), min_val);
}
//以第一个字符串为基准,按个字母与所有字符串比较,一旦不一样结果也就出来了
int nSize = strs.size();
string ret = "";
for(int i=0; i<min_val; i++)
{
for(int j=1; j<nSize; j++)
{
if(strs[0][i] != strs[j][i])
return ret;
}
ret += strs[0][i];
}
return ret;
}