整体思路不难,都是简单的初级算法题,所以直接暴力求解了
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
//先求最小范围
int len=0;
for(int i=0;i<strs.size();i++){
if(len<strs[i].size()){
len=strs[i].size();
}
}
if(len==0) return "";
int i=0,j=0;
string str("");
while(1){
for(j=0;j<strs.size()-1;j++){
//如果两个不相等,则不匹配就退出
if(strs[j][i]!=strs[j+1][i]){
break;
}
}
//本轮匹配成功
if(j==strs.size()-1){
// cout<<j<<"==========="<<i<<endl;
str.push_back(strs[j][i]);
}else{
//匹配不成功则退出
return str;
}
i++;
if(i>=len){
return str;
}
}
return str;
}
};
京公网安备 11010502036488号