LeetCode字符串数组最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。

示例 1:

输入:strs = [“flower”,“flow”,“flight”]
输出:“fl”

示例 2:

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

var longestCommonPrefix = function(strs) {
    // 当strs中没有字符串时,返回空子串
        if (strs.length == 0)
            return '';
        //核心思想
        for (var i = 0; i < strs.length; i++) {  //遍历数组
            for (var j = 0; j < strs[0].length && j < strs[i].length; j++) {  //遍历数组的第一个字符串
                if (strs[0][j] != strs[i][j]) break  //如果不等则跳出,此时j为跳出位置
            }
            // 然后截取它们相等的部分重新赋值给strs[0]
            strs[0] = strs[0].substr(0, j)
            // 截取以后判断下新的strs[0]是否为空,若为空直接返回
            if (strs[0] === '') return strs[0]
            }
    return strs[0]
};

这道题的主要思想是,遍历所给的数组,在每一项中进行对应的比较,将每一次比较相等的字符存为新的strs[0],之后不断循环直到得到最长公共前缀

你可能感兴趣的:(LeetCode合集,leetcode)