Longest Common Prefix - Javacript

Write a function to find the longest common prefix string amongst an array of strings.

Tags

String

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Using the first one as the target.

Compare vertically from the start of each string.

If meets the end of the string or no longer equal. Return.

/**
 * @param {string[]} strs
 * @return {string}
 */
// Solution 1
var longestCommonPrefix = function (strs) {
    var strnum = strs.length;

    if (strnum === 0) {
        return "";
    } else if (strnum === 1) {
        return strs[0];
    }

    var prefix = strs[0];

    for (var i = 1; i < strnum; i++) {
        var len = Math.min(prefix.length, strs[i].length);
        for (var j = 0; j < len; j++) {
            if (prefix[j] !== strs[i][j]) {
                break;
            }
        }
        prefix = prefix.substring(0, j);
    }

    return prefix;
};

// Solution 2
/**
 * @param {string[]} strs
 * @return {string}
 */
var longestCommonPrefix = function (strs) {
    var len = strs.length;
    if (len === 0) {
        return "";
    }
    if (len === 1) {
        return strs[0];
    }

    // Guarantee there are at lease 2 strings
    var ret = "";
    for (var index = 0; ; index++) {
        var target = strs[0][index];

        for (var i = 1; i < len; i++) {
            if (strs[i][index] !== target || index >= strs[i].length) {
                return ret;
            }
        }

        ret += target;
    }

    return ret;
};


發佈了82 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章