14. 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 1:
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z 。
1/**
2 * @param {string[]} strs
3 * @return {string}
4 */
5
6// 找到最短字符串
7var minLength = function (strs) {
8 if(strs.length !== 0) { // 注意检查
9 var l = strs[0].length
10 for (var i = 0; i < strs.length; i++) {
11 if (strs[i].length < l) l = strs[i].length
12 }
13 return l
14 }
15}
16
17var longestCommonPrefix = function (strs) {
18 if (strs.length === 0) return ''
19 var l = minLength(strs)
20 for (var i = 0; i < l; i++) {
21 for (var j = 0; j < strs.length - 1; j++) {
22 if (strs[j][i] !== strs[j + 1][i]) break
23 }
24 // console.log(j)
25 // 未比较完所有字符串(i位上不是所有字符串都相同)
26 if (j !== strs.length - 1) break
27 }
28
29 return strs[0].slice(0, i)
30}