Skip to content

Commit 1b3f1d9

Browse files
committed
add: Longest Common Prefix
1 parent 1185cab commit 1b3f1d9

File tree

2 files changed

+40
-0
lines changed

2 files changed

+40
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ This is the solutions collection of my LeetCode submissions, most of them are pr
1414
|7|[Reverse Integer](https://leetcode.com/problems/reverse-integer/) | [JavaScript](./src/reverse-integer/res.js)|Easy|
1515
|11|[Container With Most Water](https://leetcode.com/problems/container-with-most-water/) | [JavaScript](./src/container-with-most-water/res.js)|Medium|
1616
|13|[Roman to Integer](https://leetcode.com/problems/roman-to-integer/) | [JavaScript](./src/roman-to-integer/res.js)|Easy|
17+
|14|[Longest Common Prefix](https://leetcode.com/problems/longest-common-prefix/) | [JavaScript](./src/longest-common-prefix/res.js)|Easy|
1718
|17|[Letter Combinations of a Phone Number](https://leetcode.com/problems/letter-combinations-of-a-phone-number/) | [JavaScript](./src/letter-combinations-of-a-phone-number/res.js)|Medium|
1819
|19|[Remove Nth Node From End of List](https://leetcode.com/problems/remove-nth-node-from-end-of-list/) | [JavaScript](./src/remove-nth-node-from-end-of-list/res.js)|Medium|
1920
|22|[Generate Parentheses](https://leetcode.com/problems/generate-parentheses/) | [JavaScript](./src/generate-parentheses/res.js)|Medium|

src/longest-common-prefix/res.js

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/**
2+
* res.js
3+
* @authors Joe Jiang ([email protected])
4+
* @date 2017-04-03 20:42:30
5+
* @version $Id$
6+
*
7+
* Problem: Write a function to find the longest common prefix string amongst an array of strings.
8+
*
9+
* @param {string[]} strs
10+
* @return {string}
11+
*/
12+
let longestCommonPrefix = function(strs) {
13+
if (strs === '' || strs.length === 0) {
14+
return '';
15+
}
16+
17+
let prefix = '',
18+
strslen = strs.length,
19+
strlen = strs[0].length;
20+
21+
for (let i=0; i < strlen; i++) {
22+
let jud = true;
23+
24+
for (let j=1; j<strslen; j++) {
25+
if (strs[j][i] === undefined || strs[j][i] !== strs[0][i]) {
26+
jud = false;
27+
break;
28+
}
29+
}
30+
31+
if (jud) {
32+
prefix += strs[0][i];
33+
} else {
34+
return prefix;
35+
}
36+
}
37+
38+
return prefix;
39+
};

0 commit comments

Comments
 (0)