最长公共前缀


1.题目描述: 编写一个函数来查找字符串数组中的最长公共前缀。

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

示例 1:

输入:strs = [“flower”,“flow”,“flight”] 输出:“fl” 示例 2:

输入:strs = [“dog”,“racecar”,“car”] 输出:“” 解释:输入不存在公共前缀。

2.力扣官方题解

3.ChatGPT

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
function longestCommonPrefix(strs) {
// 边界检查
if (strs === null || strs.length === 0) {
return "";
}

// 以第一个字符串作为参考
let prefix = strs[0];

// 遍历后续字符串,依次和当前最长公共前缀进行比较
for (let i = 1; i < strs.length; i++) {
let j = 0;
while (
j < prefix.length &&
j < strs[i].length &&
prefix.charAt(j) === strs[i].charAt(j)
) {
j++;
}
prefix = prefix.substring(0, j);

// 如果当前最长公共前缀为空,则直接返回空字符串
if (prefix === "") {
return "";
}
}

return prefix;
}