-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathValidParentheses.js
43 lines (34 loc) · 1.02 KB
/
ValidParentheses.js
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
33
34
35
36
37
38
39
40
41
42
43
/*
Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.
An input string is valid if:
Open brackets must be closed by the same type of brackets.
Open brackets must be closed in the correct order.
Every close bracket has a corresponding open bracket of the same type.
Example:
Input: s = "()"
Output: true
*/
/**
* @param {string} s
* @return {boolean}
*/
var isValid = function(s) {
const res = [];
for(let i=0; i < s.length; i++){
const last = res[res.length - 1]
if(s[i] === '(' || s[i] === '[' || s[i] === '{'){
res.push(s[i])
} else if (s[i] === ')' && last === '(' && res.length !== 0) {
res.pop();
} else if (s[i] === ']' && last === '[' && res.length !== 0) {
res.pop();
}
else if (s[i] === '}' && last === '{' && res.length !== 0) {
res.pop();
}
else {
return false
}
}
return res.length === 0;
};