给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
const map = new Map()
map.set(")", "(")
map.set("}", "{")
map.set("]", "[")
var isValid = function(s) {
if (s.length % 2) return false
let arr = []
let i = 0
while (i < s.length) {
if (["(", "[", "{"].includes(s[i])) {
arr.push(s[i])
} else {
if (arr.pop() !== map.get(s[i])) {
return false
}
}
i++
}
return !arr.length
};