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;
};

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

posted @ 2018-07-30 23:35  zyzyzyzyzyzyzyzy  阅读(107)  评论(0编辑  收藏  举报