1. 程式人生 > >leetcode 最長公共前綴

leetcode 最長公共前綴

stc long rac comm 如果 說明 小寫 ace car

編寫一個函數來查找字符串數組中的最長公共前綴。

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

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

我又想了半個小時,也是笨辦法

leetcode 最長公共前綴