14.最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 1:
输入:strs = ["flower","flow","flight"]
输出:"fl"
示例 2:
输入:strs = ["dog","racecar","car"]
输出:""
解释:输入不存在公共前缀。
提示:
1 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i] 仅由小写英文字母组成
解法
1、双层循环
自己的解法
/**
* @param {string[]} strs
* @return {string}
*/
var longestCommonPrefix = function (strs) {
let index = 0;
let first = strs[0];
let flag = false;
for (; index < first.length; index++) {
for (let i = 1; i < strs.length; i++) {
if (first[index] === strs[i][index]) {
continue;
} else {
flag = true;
break;
}
}
if (flag) {
break;
}
}
return first.slice(0, index);
};
2、选取数组第一个字符串,不断截取第一个字符串长度比对
/**
* @param {string[]} strs
* @return {string}
*/
var longestCommonPrefix = function (strs) {
if (strs == null || strs.length == 0) {
return "";
}
let pre = strs[0];
let i = 1;
while (i < strs.length) {
while (strs[i].indexOf(pre) != 0) {
pre = pre.substring(0, pre.length - 1);
}
i++;
}
return pre;
};