Open
Description
题目描述
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 1:
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z 。
算法
单指针法
答案
/**
* 单指针法
*/
var longestCommonPrefix = function(strs) {
//#1 判断输入是否为空
if (!strs.length) return "";
//#2 取第一个字符串
let i = 0;
let tempS = strs[0];
//#3 遍历第一个字符串
for (; i < tempS.length; i++) {
//#4 取出下标对应的字符
let chat = tempS[i];
let isExist = true;
//#5 判断每个字符串的下标字符是否一致
for (let j = 1; j < strs.length; j++) {
if (strs[j][i] !== chat) {
isExist = false;
break;
}
}
//#6 判断不一致 返回
if (!isExist) break;
}
return tempS.slice(0, i);
};