Write a function to find the longest common prefix string amongst an array of strings.
题目的意思是要查找一组string中的最长公共前缀,注意公共前缀这里是指的连续的字符串而不是子串。因此对每两个字符串种较短的字符串开始遍历相同长度的部分,然后得到两个串的最长公共前缀,再用这个公共前缀与后面的字符串求公共前缀。
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if(strs.size()==0)
return "";
string s = strs[0];
for(int i=1;i<strs.size();i++)
{
if(s.size()==0||strs[i].size()==0)
return "";
int len;
if(s.size()>strs[i].size())
{
len = strs[i].size();
}else{
len = s.size();
}
int j=0;
for(;j<len;j++)
{
if(s[j] != strs[i][j])
break;
}
s = s.substr(0,j);
}
return s;
}
};