美文网首页
用栈概念解决“括号()[]{}判断是否有效”

用栈概念解决“括号()[]{}判断是否有效”

作者: 春木橙云 | 来源:发表于2022-05-31 20:42 被阅读0次

请使用栈概念,判断字符串内的括号,包括"("、"["、"{")是否闭合,举例如下:

let str = '((({{{123}}}))))'  //false
let str = '({[]})' //true
let str = '((()' //false

我的解法如下:

function validate(str: string) {
  const targetArray: string[] = str.split("");
  let leftStack: string[] = [];
  let status: boolean = true;
  for (let i = 0; i < targetArray.length; i++) {
    if (
      targetArray[i] === "{" ||
      targetArray[i] === "(" ||
      targetArray[i] === "["
    ) {
      leftStack.push(targetArray[i]);
    } else {
      if (!["}", "]", ")"].includes(targetArray[i])) continue;
      const lastStr = leftStack.pop();
      if (targetArray[i] === ")") {
        if (lastStr !== "(") {
          status = false;
          break;
        }
      } else if (targetArray[i] === "]") {
        if (lastStr !== "[") {
          status = false;
          break;
        }
      } else if (targetArray[i] === "}") {
        if (lastStr !== "{") {
          status = false;
          break;
        }
      }
    }
  }
  if (leftStack.length > 0) {
    status = false;
  }
  return status;
}

THE END!

相关文章

  • 用栈概念解决“括号()[]{}判断是否有效”

    请使用栈概念,判断字符串内的括号,包括"("、"["、"{")是否闭合,举例如下: 我的解法如下: THE END!

  • 字符串中有效的括号

    判断括号是否有效 1.使用栈的先进后出,先把前括号对应的后括号压栈 当后面再遇到后括号的时候,只用比较相等就可以了...

  • 栈、队列解决问题

    栈解决括号匹配问题 一个字符串中包含小括号、中括号、大括号,判断该字符串中的括号是否匹配 ()()[]{} 匹配...

  • 8.30 leetcode刷题(1)

    栈和队列:20 有效的括号 思路:利用栈去做匹配,定义好哪种情况入栈,哪种情况出栈。最后还要判断一下栈是否为空 b...

  • 20. Valid Parentheses

    判断括号顺序是否正确,用栈 考虑空输入、可能含有空格、超长输入 先获取字符串长度,并依此建立数组(栈) 若为左括号...

  • LeetCode-20 有效的括号

    题目:20. 有效的括号 难度:简单 分类:栈 解决方案:入栈出栈 今天我们学习第20题有效的括号,这是一道关于栈...

  • 20. Valid Parentheses

    使用栈数据结构: 遇到左括号,需要压栈。 遇到右括号,判断栈顶是否和当前右括号匹配;若不匹配则返回false,否则...

  • 要成功就做一百题-93

    题目名称 有效的括号判断 描述 输入的字符串只包含{ [] } ()三种括号的组合,判断输入是否是有效的括号,如下...

  • 20. Valid Parentheses

    遍历遇到左括号一律进栈,右括号与栈顶的数比较,注意判断栈不能为空,另外返回时也要检查栈是否空

  • 20. Valid Parentheses

    思路:数据结构:stack循环读取字符,如果是括号后半部分则判断栈是否为空以及栈顶是否是该括号前半部分。如果是括号...

网友评论

      本文标题:用栈概念解决“括号()[]{}判断是否有效”

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