博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20. 有效的括号---js解法
阅读量:3969 次
发布时间:2019-05-24

本文共 999 字,大约阅读时间需要 3 分钟。

题目描述:

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

有效字符串需满足:

左括号必须用相同类型的右括号闭合。

左括号必须以正确的顺序闭合。

力扣链接:https://leetcode-cn.com/problems/valid-parentheses/

在这里插入图片描述在这里插入图片描述


解题思路:

1. 创建一个HashMap,把括号配对放进去       2. 创建一个stack([]),for循环遍历字符串,对于每一个字符,          如果map里有这个key,那说明他是一个左括号,从map里取得相应的右括号,          把它push进stack里;否则的话,它就是右括号,          需要pop出stack里的第一个字符然后看它是否相等当前的字符。如果不相等,则返回false。       3. 循环结束后,如果stack不为空,说明还剩一些左括号没有被闭合,          返回false,否则返回true

var isValid = function(s) {
const mapping = new Map(); const stack = []; mapping.set('(',')') mapping.set('[',']') mapping.set('{','}') for(let i = 0; i < s.length; i++) {
if(mapping.has(s[i])){
stack.push(mapping.get(s[i])) }else if(stack.pop()!==s[i]){
return false; } } if(stack.length!=0){
return false; } return true; };

转载地址:http://dqfki.baihongyu.com/

你可能感兴趣的文章
字符转译序列
查看>>
Java 数据类型
查看>>
UTF-16 编码简介
查看>>
Java 变量名
查看>>
Java 四舍五入运算
查看>>
Spring Batch 例子: 运行系统命令
查看>>
Spring Batch 核心概念
查看>>
Spring Batch 例子: 导入定长文件到数据库
查看>>
正则表达式
查看>>
Java I/O
查看>>
序列化
查看>>
Perl 精萃
查看>>
Perl 简介
查看>>
Perl 注释
查看>>
数据类型之标量
查看>>
调试 Perl 脚本
查看>>
增强的for循环语句
查看>>
静态导入
查看>>
java 泛型
查看>>
控制结构
查看>>