字符串中括号是否匹配

40次阅读

共计 420 个字符,预计需要花费 2 分钟才能阅读完成。

function parenthesesChecker(symbols) {const stack = new Stack();
  const opens = '([{';
  const closers = ')]}';
  let balanced = true;
  let index = 0;
  let symbol;
  let top;

  while (index < symbols.length && balanced) {symbol = symbols[index];
    if (opens.indexOf(symbol) >= 0) {stack.push(symbol);
    } else if (stack.isEmpty()) {balanced = false;} else {top = stack.pop();
      if (!(opens.indexOf(top) === closers.indexOf(symbol))) {balanced = false;}
    }
    index++;
  }
  return balanced && stack.isEmpty();}

正文完
 0