js
/**
* @param {string} s
* @return {boolean}
*/
var isValid = function (s) {
let arr = s.split('')
let stack = []
let map = new Map([
['(', ')'],
['[', ']'],
['{', '}'],
])
if (arr.length % 2 !== 0) {
return false
}
for (let i = 0; i < arr.length; i++) {
if (map.has(arr[i])) {
stack.push(arr[i])
} else {
if (map.get(stack.pop()) !== arr[i]) {
return false
}
}
}
return !stack.length
}