leetcode-14- longest common prefix

题目

最长公共前缀字符串

分析

所有字符串最长的公共前缀

  1. 选取字符串数组中最短的字符串,作为参考
  2. 依次遍历所有字符串与参考字符串的每一位是否相等,如有不相等的,退出循环。记录相对参考字符串

C++代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Solution {
public:
string (vector<string>& strs) {
if(strs.empty()) return "";
int min_size = strs[0].length();
for( int i = 0;i<strs.size();i++){
if(strs[i].length()<min_size)
min_size = strs[i].length();
}
int len = 0;
int flag = 1;
for(int i=0;i<min_size;i++){
for(int j=0;j<strs.size();j++){
if(strs[j][i]!=strs[0][i])
flag =0;
}
if(flag)
len++;
else break;
}
return strs[0].substr(0,len);
}
};