14. 最长公共前缀

Introduction

Question: 14. 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""

 

示例 1:

输入:strs = ["flower","flow","flight"]
输出:"fl"

示例 2:

输入:strs = ["dog","racecar","car"]
输出:""
解释:输入不存在公共前缀。

 

提示:

  • 0 <= strs.length <="200
  • 0 <= strs[i].length <="200
  • strs[i] 仅由小写英文字母组成

解法一

Analysis

。。。

Implement

1
2
3
4
5
6
7
8
9
10
11
12
string longestCommonPrefix(vector<string>& strs) {
string res;
if (strs.size() == 0) return res;
int i = 0, j;
for(i = 0;true;i++) {
if (i >= strs[0].size()) break;
for(j = 1;j < strs.size() && i < strs[j].size() && strs[j-1][i] == strs[j][i]; j++);
if (j != strs.size()) break;
res.push_back(strs[0][i]);
}
return res;
}