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 === 0return ''
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 - 1break
27    }
28
29    return strs[0].slice(0, i)
30}
posted @ 2018-10-11 21:50  rencoo  阅读(210)  评论(0编辑  收藏  举报