当前位置: 首页 > news >正文

算法:有效的括号

算法:有效的括号

判断字符串是否为有效的括号

function isValidParentheses(s) {const stack = [];const map = {"(": ")","[": "]","{": "}"};for (let i = 0; i < s.length; i++) {if (s[i] === "(" || s[i] === "[" || s[i] === "{") {stack.push(s[i]);} else {const top = stack.pop();if (s[i] !== map[top]) {return false;}}}return stack.length === 0;
}// 测试
console.log(isValidParentheses("()")); // true
console.log(isValidParentheses("()[]{}")); // true
console.log(isValidParentheses("(]")); // false
console.log(isValidParentheses("([)]")); // false
console.log(isValidParentheses("{[]}")); // true

这个算法使用栈来实现,遍历输入的字符串,如果是左括号则入栈,如果是右括号则出栈并判断是否匹配。最后判断栈是否为空,如果为空则表示所有括号都匹配,返回true,否则返回false。

相关文章:

  • 压缩感知(Compressed Sensing)的MATLAB仿真实现
  • 即时通讯技术文集(第33期):IM开发综合技术合集(Part6) [共12篇]
  • Opencv3.2 ubuntu20.04安装过程
  • 新媒体运营-职业属性篇
  • node 环境问题
  • jmeter 命令行启动 动态参数化
  • 图数据库 之 Neo4j - 应用场景1 - 欺诈检测(6)
  • C# 类型的默认值(C# 参考)
  • 蓝桥杯:真题讲解1(C++版)附带解析
  • Sora横空出世!AI将如何撬动未来?
  • 【SQL】sql记录
  • CogFixtureTool(坐标系、校正与定位)
  • nifi连接Sql server数据库报错TLS问题
  • 2012及其以上系统修改服务器密码指南
  • Linux系统——nginx服务介绍
  • 0x05 Python数据分析,Anaconda八斩刀
  • 230. Kth Smallest Element in a BST
  • 3.7、@ResponseBody 和 @RestController
  • 345-反转字符串中的元音字母
  • CSS实用技巧
  • JSONP原理
  • Octave 入门
  • Python学习之路16-使用API
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • tensorflow学习笔记3——MNIST应用篇
  • Webpack 4x 之路 ( 四 )
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 基于游标的分页接口实现
  • 简单易用的leetcode开发测试工具(npm)
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 前端代码风格自动化系列(二)之Commitlint
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 三分钟教你同步 Visual Studio Code 设置
  • 使用权重正则化较少模型过拟合
  • 小程序开发之路(一)
  • const的用法,特别是用在函数前面与后面的区别
  • #13 yum、编译安装与sed命令的使用
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (2020)Java后端开发----(面试题和笔试题)
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (二十三)Flask之高频面试点
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (转)3D模板阴影原理
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)iOS字体
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .net refrector
  • .net 怎么循环得到数组里的值_关于js数组
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • /ThinkPHP/Library/Think/Storage/Driver/File.class.php  LINE: 48