有效括号.

news/2024/7/11 0:44:51 标签: javascript, 前端, es6

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

其中有效字符串需满足:

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

思路:

1、判断字符串的长度,奇数直接返回 false

2、循环遍历字符串,通过map来判断是左括号还是右括号,

3、把左侧的括号 push 到一个 stk数组 中

4、如果是右侧括号,通过map来找出左侧号并和 stk数组 最后一项进行全等判断

5、不等返回false,全等则说明当前配对成功,则把 stk数组 中最后一项删除,依次比对

6、最后返回 stk数组 的长度,如果 stk数组length存在,则说明有为配对成功的,返回fasle,否则返回true

javascript">var isValid = function (s) {
    const m = new Map([
        [')', '('],
        ['}', '{'],
        [']', '[']
    ])
    const leftArr = []

    for (const item of s) {
        if (m.has(item)) {
            // 右侧
            if (!leftArr.length || m.get(item) !== leftArr[leftArr.length - 1]) {
                return false
            }
            leftArr.pop()

        } else {
            // 左侧
            leftArr.push(item)
        }
    }
    return !leftArr.length
};


http://www.niftyadmin.cn/n/1409139.html

相关文章

spring中的scope详解

spring容器中的bean默认是单例模式的,改成非单例模式需要在类上加上Scope("prototype") 1. scope概论 spring中scope是一个非常关键的概念,简单说就是对象在spring容器(IOC容器)中的生命周期,也可以理解为对…

sublime怎么配置python环境_在Sublime Editor中配置Python环境的详细教程

了解如何 在sublime编辑器中安装python软件包,以 实现自动完成等功能,并在sublime编辑器本身中运行build。安装Sublime软件包控制首先下载用于sublime编辑器的程序包控件。转到URL: https : //packagecontrol.io/installation#st3崇高包装控制…

在地址栏里输入一个地址回车会发生哪些事情

解析 URL>建立连接>发送http请求>返回数据>渲染页面>断开连接 1、解析URL: 首先会对 URL 进行解析,分析所需要使用的传输协议和请求的资源的路径。如果输入的 URL 中的协议或者主机名不合法,将会把地址栏中输入的内容传递给…

快速统计一个数二进制中1的个数

leetcode中一个题目,让统计二进制中1的个数。首先第一个想法便是用位运算一位一位的去判断,这样便可以了,但是题目却有个要求复杂度小于 O(n*sizeof(integer))。 这样便无法按着integer的size去逐个计算。 while(n){count;n&(n-1); } …

硕士论文中期汇报ppt_华北理工大学附属唐山市人民医院硕士学位论文开题、中期答辩会圆满结束...

10月27日,华北理工大学附属唐山市人民医院硕士学位论文开题、中期答辩会圆满结束。答辩会共有1名研究生进行开题汇报,5名研究生进行中期汇报。开题和中期答辩会邀请唐山市人民医院李景武副院长,华北理工大学公共卫生学院庞淑兰教授、华北理工…

函数多次调用只执行一次

高阶/闭包 使用场景: 多次支付只付一次 function once(fn) {let done falsereturn function (...args) {if (done) returndone truereturn fn(...args)} } const fn function (rmb) {console.log(需要支付${rmb}元); } const pay once(fn) pay(10) pay(10) pay(10) pay(1…

微服务架构实践感悟

从去年初开始接触微服务架构的一些理念,然后到今年开始实施系统第四个大版本的架构升级决定采用这套架构理念。 最近关于微服务架构的讨论还是多起来,因为国外一些著名互联网公司(如:Amazon、Netflix 等)从实践中摸索出…

做网页的小工具

我们有时候会找不到网页的图 所以我们需要下载的 图标管理网站:http://www.iconfont.cn/ 这个是矢量图标 我们可以进行下载查找转载于:https://www.cnblogs.com/zhaoyunlong/p/9153759.html