猫猫说了算
理解是偶然,误解是常态。

【算法】20. 有效的括号

远浅发表于: 2021-03-12 10:39分类: 技术

20. 有效的括号

给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。

有效字符串需满足:

左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。

示例 5:

输入:s = "{[]}"

输出:true

题解

var isValid = function(s) {
    const arr = [];
    const obj={
        ")":"(",
        "}":"{",
        "]":"["
    }
    const v = Object.values(obj);
    for (let index = 0; index < s.length; index++) {
        const element = s[index];
        // 左括号入栈
        if (v.includes(element)) {
            arr.push(element);
            // 相邻的括号必须是出栈匹配的右括号
        }else if(obj[element]!=arr.pop()){
            return false;
        }
    }
    return arr.length===0;
};
赠人玫瑰, 手有余香。🌹
打赏
特别鸣谢
感谢以下用户对本文的支持与鼓励
加载打赏用户中
发表评论
文章评论
暂无任何评论,快去发表吧~