leetcode 最长公共前缀

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

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

示例 1:

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

示例 2:

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

说明:

所有输入只包含小写字母a-z

/**
 * @param {string[]} strs
 * @return {string}
 */
var longestCommonPrefix = function (strs) {
    if (!strs.length) {
        return "";
    }
    let min = strs[0];
    for (let str of strs) {
        if (str.length < min.length) {
            min = str;
        }
    }
    //找到最短的字符串,判断如果其他字符串indexOf(最短字符串)!==0,就让最短字符串减1再判断
    for (let minLen = min.length; minLen >= 0; minLen--) {
        for (let str of strs) {
            if (str.indexOf(min)) {
                min = min.substring(0, minLen - 1);
                break;
            }
        }
    }
    return min;
};

我又想了半个小时,也是笨办法

猜你喜欢

转载自www.cnblogs.com/sbzy/p/9393515.html
今日推荐