leetcode - Longest Common Prefix

leetcode - Longest Common Prefix

Q:

Write a function to find the longest common prefix string amongst an array of strings.

 

 1 class Solution {
 2 public:
 3     string longestCommonPrefix(vector<string>& strs) {
 4         int size = strs.size();
 5         int j=0;
 6         string result;
 7         bool flag = 1;
 8         if(size==1) return strs[0];
 9         if(size>1){
10             while(flag){
11                 for(int i = 1; i < size; i++ ){
12                     if (strs[i].size()==0){return result;}
13                     else if ( ((j+1)>strs[i].size()) || ((j+1)>strs[0].size()) || (strs[i][j] != strs[0][j])){
14                     flag = 0;}
15                 }
16                 if(flag==1) j++;
17             }
18             for(int k=0; k<j; k++)
19                 result.push_back(strs[0][k]);
20         }
21         return result;
22     }
23 };

 

我的思路:

从第一个字符开始依次比较每个string,如果均相同则比较下一个,同时计数j加1,直到遇到不同字符。打印出第一个string的前j个字符。

 

posted @ 2015-04-27 09:29  cnblogshnj  阅读(140)  评论(0编辑  收藏  举报