Longest Common Prefix

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

1、考虑vector为空的情况,否则会出现数组越界错误

2、字符串两两比较,取公共长度最小的值即是答案

posted @ 2015-06-06 17:27  varcom  阅读(122)  评论(0编辑  收藏  举报