编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
示例 1:
输入: ["flower","flow","flight"] 输出: "fl"
示例 2:
输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z
。
/**
* @param {string[]} strs
* @return {string}
*/
var longestCommonPrefix = function(strs) {
if (strs === null || strs.length === 0) return "";//排除零
var len = strs.reduce(function (num, str) {//返回数组中最小字符串的长度
return Math.min(num, str.length);
}, Infinity);//Infinity表示正无穷大的数
if (len === 0) return "";
for (var i = 0; i < len; i++) {
var char = strs[0].charAt(i);//charAt()返回指定位置的字符
for (var j = 1; j < strs.length; j++) {
var char2 = strs[j].charAt(i);
if (char != char2) return strs[0].substring(0, i);//使用substring()提取两个坐标之间的字符
}
}
return strs[0].substring(0, len);
};