整体思路不难,都是简单的初级算法题,所以直接暴力求解了
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; } };