JavaScript LeetCode020 有效的括号

71 阅读1分钟

给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。

有效字符串需满足:

左括号必须用相同类型的右括号闭合。

左括号必须以正确的顺序闭合。

示例 1:

输入:s = "()"

输出:true

var isValid = function(s) {
  if(s.length % 2 !== 0) return false
  const stack = []
  let flag = true
  ;[...s].every(char => {
    if(char === '(' || char === '{' || char === '['){
      stack.push(char)
    }else{
      const left = stack.pop()
      const tog = left + char
      if( !['()', '[]', '{}'].includes(tog)){
        flag = false
	return false
      }
    }
    return true
  })
	
  if(stack.length !== 0) flag = false
  return flag
};