Skip to content

Commit 14409d1

Browse files
authored
Merge pull request #1276 from rutanshuj/patch-9
Update 20-Valid-Parentheses.js
2 parents fd465a1 + dc475b9 commit 14409d1

File tree

1 file changed

+32
-5
lines changed

1 file changed

+32
-5
lines changed

javascript/20-Valid-Parentheses.js

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
/**
2-
* https://leetcode.com/problems/valid-parentheses
32
* Time O(N) | Space O(N)
3+
* https://leetcode.com/problems/valid-parentheses/
44
* @param {string} s
55
* @return {boolean}
66
*/
7-
var isValid = function(s, stack = []) {
7+
var isValid = (s, stack = []) => {
88
for (const bracket of s.split('')) {/* Time O(N) */
99
const isParenthesis = bracket === '(';
1010
if (isParenthesis) stack.push(')'); /* Space O(N) */
@@ -15,13 +15,40 @@
1515
const isSquareBracket = bracket === '[';
1616
if (isSquareBracket) stack.push(']');/* Space O(N) */
1717

18-
const isOpenBracket = isParenthesis || isCurlyBrace || isSquareBracket;
19-
if (isOpenBracket) continue;
18+
const isOpenPair = isParenthesis || isCurlyBrace || isSquareBracket;
19+
if (isOpenPair) continue;
2020

2121
const isEmpty = !stack.length;
2222
const isWrongPair = stack.pop() !== bracket;
2323
const isInvalid = isEmpty || isWrongPair;
2424
if (isInvalid) return false;
2525
}
26-
return stack.length === 0;
26+
27+
return (stack.length === 0);
28+
};
29+
30+
/**
31+
* Time O(N) | Space O(N)
32+
* https://leetcode.com/problems/valid-parentheses/
33+
* @param {string} s
34+
* @return {boolean}
35+
*/
36+
var isValid = (s, stack = []) => {
37+
const map = {
38+
'}': '{',
39+
']': '[',
40+
')': '(',
41+
};
42+
43+
for (const char of s) {/* Time O(N) */
44+
const isBracket = (char in map)
45+
if (!isBracket) { stack.push(char); continue; }/* Space O(N) */
46+
47+
const isEqual = (stack[stack.length - 1] === map[char])
48+
if (isEqual) { stack.pop(); continue; }
49+
50+
return false;
51+
}
52+
53+
return (stack.length === 0);
2754
};

0 commit comments

Comments
 (0)