-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlongestCommonPrefix.js
More file actions
32 lines (28 loc) · 1.01 KB
/
longestCommonPrefix.js
File metadata and controls
32 lines (28 loc) · 1.01 KB
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
30
31
32
//////////////////////////////////////////////Longest Common Prefix///////////////////////////////////////////////////////
// Write a function to find the longest common prefix string amongst an array of strings.
// If there is no common prefix, return an empty string "".
// Example 1:
//
// Input: strs = ["flower","flow","flight"]
// Output: "fl"
// Example 2:
//
// Input: strs = ["dog","racecar","car"]
// Output: ""
// Explanation: There is no common prefix among the input strings.
const longestCommonPrefix = function(strs) {
if(!strs.length) return '';
const sorted = strs.sort((a, b) => a.length - b.length);
const smallest = sorted[0];
let res = '';
for(let i = 0; i < smallest.length; i++){
let pre = smallest.slice(0, i + 1);
let has = strs.every((str) => str.startsWith(pre));
if(has){
res = pre;
}
}
return res;
};
// console.log(longestCommonPrefix(["flower","flow","flight"]));
// console.log(longestCommonPrefix(["dog","racecar","car"]));