leetcode 20.有效括号 javascript

问题很简单,把左括号全部押栈,遇到右括号全部出栈,通过map比较两个值,最后栈里时空的就可以了

/**
 * @param {string} s
 * @return {boolean}
 */
var isValid = function(s) {
    if(!s.length){ return true }
    const pair = {
        '{': '}',
        '(': ')',
        '[': ']'
    }
    let stack = [];
    
    for(let i = 0; i < s.length; i ++){
        if(pair[s[i]]){
            stack.push(s[i]);
        }else {
            let popped = stack.pop(s[i]);
            if (pair[popped] !== s[i]){
                return false;
            }
        }
    }
    return stack.length === 0;
};
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,221评论 0 13
  • 《程序员代码面试指南-左程云》笔记 第一章 栈和队列 设计一个有getMin功能的栈 实现一个特殊的栈,在实现栈的...
    xiaogmail阅读 18,511评论 2 19
  • 做题,实际写出例子,然后分析可能遇到的情况,慢慢的,思路就会出来了。 线性表 33. Search in Rota...
    小碧小琳阅读 1,623评论 0 2
  • 01 前段时间,有个读者在后台给我留言,说她发现自己的老公有了外遇,但她却只能装作不知道,她不敢戳穿他,甚至她怕他...
    装睡猫阅读 837评论 1 3
  • 这个夏天,遇到晶莹剔透的甜品,海石花和赤菜。这两种来自大海的的食材,做出的成品惊艳又安全。冲着它们安全无添加和朋友...
    mimi播报阅读 580评论 2 3