水平扫描解法
思路:LCP(S1, S2, …, Sn)=LCP(LCP(S1, S2)…, Sn),即S1~Sn的最长公共前缀可以转化为S1和S2的最长公共前缀,再求与S3的公共前缀等
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if(strs.size()==0 || strs[0].length()==0)
return "";
else{
int minn=strs[0].length();
for(int i=1; i<strs.size(); i++){
if(strs[i].length()==0){
minn=0;
break;
}
for(int j=0; j<minn; j++){
if(strs[i][j]!=strs[i-1][j]){
minn=j;
break;
}
}
}
return strs[0].substr(0, minn);
}