-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathvalid-parentheses.js
More file actions
30 lines (27 loc) · 881 Bytes
/
valid-parentheses.js
File metadata and controls
30 lines (27 loc) · 881 Bytes
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
/**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. */
/**
* @param {string} s
* @return {boolean}
*/
var isValid = function(s) {
const stack = []
let isValid = true
for(let i =0; i < s.length; i++){
if(s[i] === "(" || s[i] === "{" || s[i] === "["){
stack.push(s[i])
}else if(stack[stack.length - 1] + s[i] === "()" || stack[stack.length - 1] + s[i] === "{}" || stack[stack.length - 1] + s[i] === "[]"){
stack.pop()
}else{
isValid = false
break;
}
}
if(isValid && stack.length === 0){
return true
}else{
return false
}
};