@requires_authorization
@author johnsondu
@create_time 2015.7.13 10:11
@url [longest-common-prefix](https://leetcode.com/problems/longest-common-prefix/)
/**
* 求出string中的最小长度
* 然后依次每个string从第一个开始进行比较
* 时间复杂度:O(n*m), n是string个数,m是string的长度
*/
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
int len = strs.size();
if(len == 0) return "";
if(len == 1) return strs[0];
int mins = 0xffffff;
for(int i = 0; i < len; i ++){
if(mins > strs[i].size()) mins = strs[i].size();
}
int idx = -1;
for(int j = 0; j < mins; j ++){
char ch = strs[0][j];
bool flag = false;
for(int i = 1; i < len; i ++){
if(ch != strs[i][j]){
flag = true;
break;
}
}
if(flag) break;
idx ++;
}
if(idx == -1) return "";
string ans = "";
for(int i = 0; i <= idx; i ++)
ans += strs[0][i];
return ans;
}
};
版权声明:本文为博主原创文章,未经博主允许不得转载。
【leetcode】14. longest common prefix
原文地址:http://blog.csdn.net/zone_programming/article/details/46859133