# 最长公共前缀(14)
# 题目
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
# 示例
输入: ["flower","flow","flight"]
输出: "fl"
输入: ["dog","racecar","car"]
输出: ""
# 算法
将第一个字符串设为最长公共前缀,然后依次比较之后的字符串和当前最长公共前缀,将比较后得到的最长公共前缀赋值给新的最长公共前缀,继续依次比较
每次开始前判断最长公共前缀是否为空,如果为空直接return ""
function longestCommonPrefix(strs) {
if(!strs.length) return ""
let longestPrefix = strs[0]
for(let i = 1; i < strs.length; i++) {
let temp = ""
for(let j = 0; j < longestPrefix.length && j < strs[i].length; j++) {
if(longestPrefix[j] !== strs[i][j]) {
break
}
temp += longestPrefix[j]
}
if(!temp.length) {
return ""
}
longestPrefix = temp
}
return longestPrefix
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18