美文网首页
有效的括号

有效的括号

作者: may505 | 来源:发表于2020-08-27 09:24 被阅读0次

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

    有效字符串需满足:

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

    /**
     * @param {string} s
     * @return {boolean}
     */
    const LEFT = ["(", "{", "["];
    const RIGH = [")", "}", "]"];
    const MATCH = {
      "(": ")",
      "{": "}",
      "[": "]",
    };
    var isValid = function (s) {
      if (s.length === 0) return true;
      // 如果是基数直接返回,提前返回
      if (s.length % 2===1) return false;
      const stack = [];
      for (let i = 0; i < s.length; i++) {
        const element = s[i];
        // 入栈
        if (LEFT.includes(element)) {
          stack.push(element);
          continue;
        }
        // 出栈
    
        if (MATCH[stack.pop()] !== element) {
          return false;
        }
      }
       return stack.length === 0;
    };
    
    

    相关文章

      网友评论

          本文标题:有效的括号

          本文链接:https://www.haomeiwen.com/subject/ycofsktx.html