美文网首页
字节跳动,腾讯大厂面试题——力扣(20)有效的括号

字节跳动,腾讯大厂面试题——力扣(20)有效的括号

作者: 纯粹的少年 | 来源:发表于2020-09-12 21:47 被阅读0次

题目

给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。

解题思路

  • 首先我们创建一个空的数组,
  • 然后我们循环遍历传入的字符串
  • 然后我们根据遍历到的字符{,(,[,分别将],},),添加到数组中。
  • 遇到],},)这些时,我们将数组的最后一项进行比对,如果相同就删除。
  • 遇到不同时,代表不对应,就返回false;
  • 此时我们还要注意一开始传入的就是],},),我们就直接返回false
  • 最后我们在循环完毕之后要判断数组的length,当长度大于0时,代表最后一个是],},),所以我们也要返回false;
  • 之后我们就全部判定成功

代码

function isVaild(s) {
    var arr = []
    for (var i = 0; i < s.length; i++) {
        switch (s[i]) {
            case "(":
                arr.push(")")
                break;
            case "[":
                arr.push("]")
                break;
            case "{":
                arr.push("}")
                break;
            default :
                if(arr.length === 0 || s[i] !== arr[arr.length -1])return false;
                arr.pop()
        }
    }
    if(arr.length>0) return false;
    return true
}

相关文章

网友评论

      本文标题:字节跳动,腾讯大厂面试题——力扣(20)有效的括号

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