整体思路不难,都是简单的初级算法题,所以直接暴力求解了

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;
    }
};