题意为找到所有字符串的最长的共同前缀。
思路:
1.先遍历一遍,得出最短字符串的长度
2.对每一个字符串均与第一个字符串比较,出现不同,则得出最长公共前缀到此结束
class Solution {
public:
string longestCommonPrefix(vector<string> &strs) {
int len=strs.size();
int min=INT_MAX;
string commomPrefix;
if(len==0)
return commomPrefix;
for(int k=0;k<len;++k)
{
if(strs[k].size()<min)
min=strs[k].size();
}
if(min==0)
return commomPrefix;
int i=0;
while(i<min)
{
for(int j=0;j<len;++j)
{
if(strs[j][i]!=strs[0][i])
{
commomPrefix=strs[0].substr(0,i);
return commomPrefix;
}
}
++i;
}
commomPrefix=strs[0].substr(0,min);//即为最短的字符串
return commomPrefix;
}
};