1 class Solution { 2 public: 3 string longestCommonPrefix(vector<string>& strs) { 4 if(strs.empty()) 5 return ""; 6 vector<string>::iterator it; 7 int lc=strs[0].size(); 8 int i; 9 for(it=strs.begin()+1;it!=strs.end();it++) 10 { 11 string a=*it,b=*(it-1); 12 for(i=0;i<a.size()&&i<b.size()&&i<lc;i++) 13 { 14 if(a[i]!=b[i]) 15 break; 16 } 17 if(lc>i)lc=i; 18 } 19 return strs[0].substr(0,lc); 20 } 21 };
1、考虑vector为空的情况,否则会出现数组越界错误
2、字符串两两比较,取公共长度最小的值即是答案