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

栈-20.有效的括号-力扣(LeetCode)

一、题目解析

对于这个字符串需要左右括号匹配,并且是以正确的顺序

二、算法原理

解法1.图+栈

解法2.用else if代替图+栈

正常做法:对于三种左括号直接进栈('(','[','{'进栈),然后判断与下一个括号是否匹配,匹配则出栈,不匹配则返回false。

改进:当遇到三种左括号时,可以进栈对应的右括号(')',']','}'进栈),然后判断与下一个括号是否相同,当栈为空或者栈顶元素括号不匹配时,返回false,然后出栈。

最后返回值为栈是否为空,为空则返回true,所有括号匹配完,反之为false。

思考过后可以自己实现一下,链接:20. 有效的括号 - 力扣(LeetCode)

三、代码示例

class Solution {
public:bool isValid(string s) {stack<char> k;for(auto e : s){if(e == '(') k.push(')');else if(e == '[') k.push(']');else if(e == '{') k.push('}');else{if(k.empty() || k.top() != e) return false;k.pop();}}return k.empty();}
};

 

 

看到最后,如果对您有所帮助,还请点赞、收藏和关注,点点关注不迷路,我们下期再见! 

http://www.xdnf.cn/news/11929.html

相关文章:

  • 《复制粘贴的奇迹:原型模式》
  • C++课设:学生成绩管理系统
  • 【Axure视频教程】下载和安装Axure汉化包
  • 什么是单光谱
  • Python学习(6) ----- Python2和Python3的区别
  • 嵌入式学习笔记 - freeRTOS任务设计要点
  • 树莓派系列教程第九弹:Cpolar内网穿透搭建NAS
  • H5项目实现图片压缩上传——2025-06-04
  • 无法通过windows功能控制面板自动安装或卸载windows server角色或功能
  • 低成本奶泡棒解决方案WD8001功能说明
  • Hadoop企业级高可用与自愈机制源码深度剖析
  • docker的基本命令
  • AI界面遭劫持:Open WebUI被滥用于挖矿程序与隐蔽AI恶意软件
  • 如何快速找出某表的重复记录 - 数据库专家面试指南
  • 【力扣】3403. 从盒子中找出字典序最大的字符串 I
  • 判断:有那种使用了局部变量的递归过程在转换成非递归过程时才必须使用栈
  • AI批改作文的软件推荐:提升写作效率的智能工具
  • 厂商与经销商供应链数据协同:策略、实践与深度价值挖掘
  • 在WPS中如何启用宏VBA wps.vba.exe下载和安装
  • 【JVM】Java类加载机制
  • Python 多进程编程全面学习指南
  • Unity 大型手游碰撞性能优化指南
  • Axure高保真LayUI框架 V2.6.8元件库
  • [蓝桥杯]卡片换位
  • Modbus转EtherNET IP网关开启节能改造新范式
  • 细说C语言将格式化输出到字符串的函数sprintf、_sprintf_l、swprintf、_swprintf_l、__swprintf_l
  • IEC 61347-1:2015 灯控制装置安全标准详解
  • [Java 基础]创建人类这个类小练习
  • Python应用函数的定义与调用(一)
  • AI制药专利战:生命权VS专利权,谁在定价你的生命?