14. 最长公共前缀

2018-06-05  本文已影响10人  吃饭用盘装

内容

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""。

示例 1:

输入: ["flower","flow","flight"]
输出: "fl"
示例 2:

输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
说明:

所有输入只包含小写字母 a-z 。


思路

既然是公共前缀,那么就是数组里每个字符串都有,那就先假设有,
所以直接上循环,判断每个字符串的挨个字符是否都相等,如果不相等则直接return
之前记录下的最大长度对应的字符串


代码

var longestCommonPrefix = function (strs) {
    if (strs.length <= 0 || strs[0] == null || strs[0].length <= 0) return "";
    var maxLength = 0;
    for (var i = 0; i < 10000; i++) {
        var str = strs[0][i];
        if (str == null) {
            return maxLength > 0 ? strs[0].slice(0, maxLength) : "";
        }
        for (var j = 0; j < strs.length; j++) {
            if (strs[j][i] != str) {
                return maxLength > 0 ? strs[0].slice(0, maxLength) : "";
            }
        }

        maxLength++;
    }
};

回到目录

上一篇 下一篇

猜你喜欢

热点阅读