Longest Common Prefix

主要是效率问题,对于空串要及早退出降低时间。

还有字符串问题:

C++中string不是以‘’结束的,C中是的。

如果对一个空串赋值‘’,此时串的size()为1。

 1 class Solution {
 2 
 3 public:
 4     string longestCommonPrefix(vector<string>& strs) {
 5         int len=0,i=0;
 6         string pre="";
 7         if(strs.size()==0) return pre;
 8         else if(strs.size()<2) return strs[0];
 9         while(i<strs[0].size()&&i<strs[1].size()&&strs[0].at(i)==strs[1].at(i)) 
10             {
11               pre=pre+strs[0].at(i);
12               i++;
13             }
14         len=i;
15         if(len==0) return pre;
16         for(int j=2;j<strs.size();j++)
17             {
18                i=0;
19                if(strs[j].size()<len) len=strs[j].size();
20                while(i<len && strs[j].at(i)==pre[i]) 
21                    i++;
22                if(i<len) len=i;
23                if(len==0) return "";
24             }
25             return pre.substr(0,len);
26     }
27 };
28      
原文地址:https://www.cnblogs.com/daocaorenblog/p/5217624.html