内容
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 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++;
}
};