美文网首页
检测成对括号

检测成对括号

作者: RQrry | 来源:发表于2019-07-26 00:10 被阅读0次

检测成对出现的括号

Exmaple:

Input: '{}'
Output: true

Input: '(){[]}'
Output: true

Input: '(]'
Output: false

Input: '([]'
Output: false

利用栈的知识点
遍历字符串,遇到左括号进栈,右括号出栈
进出栈的括号不匹配则 return false

const brackets = function (str) {
  const arr = [];
  const obj = {
    '(': ')',
    '[': ']',
    '{': '}'
  };
  let result = true;
  
  for (let i in str) {
    if (['(','[','{'].includes(str[i])) {
      arr.push(str[i]);
    } else {
      if (str[i] !== obj[arr.pop(str[i])]) {
        return false;
      }
    }
  }
  
  if (arr.length) {
    return false;
  }
  return result;
}

相关文章

网友评论

      本文标题:检测成对括号

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