Write a function to find the longest common prefix string amongst an array of strings.
这个题没什么技巧,大概就是考虑全面些
如果input啥都没有,如果input里有空, 写的时候犯了个错误,如果一直都是相等的时候没有考虑。其实把长度一直增加就可以了。。。
class Solution {
public:
string longestCommonPrefix(vector<string> &strs) {
int num=strs.size();
if (num==0)
return "";
if (num==1)
return strs[0];
int minLen=strs[0].size();
for (int i=1;i<num;i++)
minLen=min(minLen,int(strs[i].size()));
if (minLen==0)
return "";
string ref=strs[0];
bool found=false;
int len=0;
for (int i=1; i<=minLen; i++,len++)
{
for (int j=1; j<strs.size();j++)
{
if (ref[i-1]!=strs[j][i-1])
{
found=true;
break;
}
}
if (found){
break;
}
}
return ref.substr(0,len);
}
};