Skip to content

Latest commit

 

History

History
37 lines (29 loc) · 851 Bytes

20.valid-parentheses.md

File metadata and controls

37 lines (29 loc) · 851 Bytes

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

有效字符串需满足:

左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。

示例 1:

输入: "()"
输出: true

解题思路

辅助 栈 模拟括号构建过程

var isValid = function (s) {
  let stack = [];
  for (let i = 0; i < s.length; i++) {
    if (s[i] == "(" || s[i] == "[" || s[i] == "{") stack.push(s[i]);
    else {
      if (stack.length == 0) return false;
      let top = stack.pop();
      if (top == "(" && s[i] != ")") return false;
      else if (top == "[" && s[i] != "]") return false;
      else if (top == "{" && s[i] != "}") return false;
    }
  }
  return stack.length == 0;
};