zoukankan      html  css  js  c++  java
  • js判读有效括号

    // 给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。
    // 左括号必须用相同类型的右括号闭合。
    // 左括号必须以正确的顺序闭合
    // 空字符串可被认为是有效字符串
    // 输入:'()'
    // 输出:true
    // 输入:'(}'
    // 输出:false

    var isValid = function(s){
        let temp={
            '(':')',
            '{':'}',
            '[':']'
        }
        let res = [];
        for(let i=0; i<s.length; i++){
            console.log(temp[s[i]])
            //分别拿传入的字符串作为temp的键,看看能否得到值
            if(temp[s[i]]){
                //有值,说明这个键存在,左括号则推入栈中
                res.push(s[i])
                console.log(res)
            }else{
                //判断栈顶元素是否和当前右括号匹配,匹配则删除栈顶,否则直接false
                if(temp[res.pop()] != s[i]) return false //直接判断false,优化代码
            }
        }
        //最后判断左括号是否为空,括号是否成对出现
        return res.length===0
    };
  • 相关阅读:
    Live2d Test Env
    关于word2vec的一些问题
    排序链表
    最长回文子串
    前缀树
    验证回文串
    最大子序和/积
    构建知识图谱-初学
    HMM-维特比算法理解与实现(python)
    跨存储后台迁移数据的三种方案
  • 原文地址:https://www.cnblogs.com/liufeiran/p/13553017.html
Copyright © 2011-2022 走看看