-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbalanceBrackets.js
More file actions
32 lines (27 loc) · 817 Bytes
/
balanceBrackets.js
File metadata and controls
32 lines (27 loc) · 817 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
31
32
isBalanced = (s) => {
let stack = []
let check = {'(':')','[':']','{':'}' }
for (let i = 0 ; i < s.length ; i++){
if (s[i] ==='(' || s[i] === '{' || s[i] === '['){
stack.push(s[i])
}
else{
let last = stack.pop()
if(s[i] !== check[last]){return 'NO'}
}
console.log(stack)
}
if (stack.length !==0) {return 'NO'}
return 'YES'
}
let arr = '{[()]}{[(])}{{[[(())]]}}'
isBalanced(arr)
isBalanced = ([...str]) => {return str.reduce((count, cur) => {
((cur === '(' && count++ || cur === ')' && count--)) &&
((cur === '{' && count++ || cur === '}' && count--)) &&
((cur === '[' && count++ || cur === ']' && count--));
return count;
}, 0) === 0 }
['{', '[', '(', '{']
last = "{"
if(last != check ) break