1. 题目来源
链接:lc14. 最长公共前缀
2. 题目解析
方法一:枚举
面试常考题…很经典啊。 官方题解给了非常多花里胡哨的解法,二分、分治…想看再看吧。
顺序枚举第一个字符串的所有字符,与其它的所有字符串的当前位置字符进行比较,若某一字符串为空,或者字符不想等。则返回最长公共前缀即可,若全相等,则将当前字符加入到答案中。
代码:
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
string res;
if (strs.empty()) return res;
for (int i = 0; i < strs[0].size(); ++i) {
for (auto& e : strs) {
if (i >= e.size() || e[i] != strs[0][i])
return res;
}
res += strs[0][i];
}
return res;
}
};