算法-最长公共前缀

leetcode-最长公共前缀
https://leetcode-cn.com/problems/longest-common-prefix/
坚持每天进步

最长公共前缀

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

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

示例 1:

1
2
输入:strs = ["flower","flow","flight"]
输出:"fl"

示例 2:

1
2
3
输入:strs = ["dog","racecar","car"]
输出:""
解释:输入不存在公共前缀。

提示:

  • 1 <= strs.length <= 200
  • 0 <= strs[i].length <= 200
  • strs[i] 仅由小写英文字母组成
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/**
* @param {string[]} strs
* @return {string}
*/
var longestCommonPrefix = function (strs) {
if (strs.length === 1) {
return strs[0]
}
let prefix = '';
let firstStr = strs[0];
for (let len = firstStr.length + 1, i = 1; i < len; i++) {
const temPrefix = firstStr.slice(0, i);
// console.log('temPrefix:', temPrefix);
let hasFlag = true;
for (let len2 = strs.length, j = 1; j < len2; j++) {
if (strs[j].indexOf(temPrefix) !== 0) {
hasFlag = false;
break;
}
}
if (!hasFlag) {
break;
} else {
prefix = temPrefix;
}
}

return prefix;
};

暂时没有更好的办法,暴力解题