日常生活的交流与学习

首页 新随笔 联系 管理
const isValid = function (s) {
  const stack = [];

  for (let i = 0; i < s.length; i++) {
    let c = s[i];
    switch (c) {
      // 左括号入栈,即将与左括号匹配的右括号入栈
      case "(":
        stack.push(")");
        break;
      case "[":
        stack.push("]");
        break;
      case "{":
        stack.push("}");
        break;
      // 右括号出栈, 比较栈顶元素和当前元素是否匹配
      default:
        if (c !== stack.pop()) {
          return false;
        }
    }
  }
  // 遍历完,只要栈不为空,那么一定不匹配
  return stack.length === 0;
};

// isValid("()[]{}")
isValid("([)]");
posted on 2022-11-17 19:59  lazycookie  阅读(18)  评论(0编辑  收藏  举报