【LeetCode-Algorithms】14. Longest Common Prefix

题目:

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.

题目大意:

编写一个函数来查找字符串数组中最长的公共前缀字符串。
如果没有公共前缀,则返回空字符串""。
例1:

Input: ["flower","flow","flight"]
Output: "fl"

例2:

Input: ["dog","racecar","car"]
Output: ""

备注:所有给定的输入都是小写字母a-z

题目连接

https://leetcode.com/problems/longest-common-prefix/description/

具体实现

string longestCommonPrefix(vector<string>& strs) {
    if (strs.empty()) return "";

    int j = 0;
    bool end = false;
    for(;;++j) {
        for (auto &i:strs) {
            if (!(j < i.size() && i[j] != strs[0][j])) {
                end = true;
                break;
            }
        }
        if (end) {
            return strs[0].substr(0, j);
        }
    }
}

推荐阅读更多精彩内容