题目
给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。
来源:力扣(LeetCode) 链接:leetcode-cn.com/problems/va… 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解法
/**
* @param {string} s
* @return {boolean}
*/
var isValid = function(s) {
let stack = []
let map = new Map([
[')', '('],
['}', '{'],
[']', '[']
])
for (const c of s) {
if (!map.has(c))
stack.push(c)
else if (!stack.length || map.get(c) != stack.pop())
return false
}
return !stack.length
};