题目:
Write a function to find the longest common prefix string amongst an array of strings.
If there is no common prefix, return an empty string ""
.
Example 1:
Input: ["flower","flow","flight"] Output: "fl"
Example 2:
Input: ["dog","racecar","car"] Output: "" Explanation: There is no common prefix among the input strings.
Note:
All given inputs are in lowercase letters a-z
.
描述:
给出若干字符串,输出这些字符串的最长公共前缀
分析:
使用最简单的方式进行遍历,没别的技巧...
最坑的一组数据:
[]
代码:
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if (!strs.size()) {
return "";
}
int min_length = strs.at(0).length();
for (int i = 0; i < strs.size(); ++ i) {
if (strs[i].length() < min_length) {
min_length = strs[i].length();
}
}
string result;
for (int i = 0; i < min_length; ++ i) {
char current = strs[0].at(i);
bool flag = false;
for (int j = 0; j < strs.size(); ++ j) {
if (current != strs[j].at(i)) {
flag = true;
break;
}
}
if (flag == true) {
break;
}
result.push_back(current);
}
return result;
}
};