题目
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 1:
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
解析
JavaScript:
var longestCommonPrefix = function(strs) {
// 如果数组长度为0 ,直接返回""
if(strs.length === 0) return "";
let minlen = strs[0].length;
let str = "";
// 找到最短的字符串
for(let i = 1; i < strs.length;i ++) {
minlen = Math.min(minlen, strs[i].length);
}
// 遍历,发现不同的字符就跳出
out: for(let j = 0; j < minlen; j++) {
for(var k = 1; k < strs.length; k++) {
if(strs[k][j] != strs[k-1][j]) {
break out;
}
}
// 添加相同的字符
str = str + strs[0][j];
}
return str;
};