编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 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],之后不断循环直到得到最长公共前缀