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

力扣Hot100-有效的括号(栈stack)

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

有效字符串需满足:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合。
  3. 每个右括号都有一个对应的相同类型的左括号。

示例 1:

输入:s = "()"
输出:true

示例 2:

输入:s = "()[]{}"
输出:true

示例 3:

输入:s = "(]"
输出:false

提示:

  • 1 <= s.length <= 104
  • s 仅由括号 '()[]{}' 组成

思路:由于括号都配对的,且从头开始扫描可以发现,最后出现的左括号,他对应的右括号往往最先出现(eg:"{ ( {  [  ] } ) }"

class Solution {
public:bool isValid(string s) {stack<char>a;for(int i=0;i<s.size();i++){char val=s[i];if(val=='('||val=='{'||val=='['){//元素入栈a.push(val);}else if(val==')'){if(!a.empty()){char b=a.top();if(b=='(') a.pop();else return false;}else return false; false;}else if(val=='}'){if(!a.empty()){char b=a.top();if(b=='{') a.pop();else return false;}else return false;}else if(val==']'){if(!a.empty()){char b=a.top();if(b=='[') a.pop();else return false;}else return false;}}if(a.empty()) return true;else return false;}
};

http://www.lryc.cn/news/359988.html

相关文章:

  • Android下HWC以及drm_hwcomposer普法(上)
  • OpenCV学习 基础图像操作(十七):泛洪与分水岭算法
  • Docker基础命令(三)
  • Python的第三方库OS库
  • 两个数相加减高级实现
  • 小白跟做江科大32单片机之对射式红外传感器计次
  • 安装Kubernetes v3 ----以docker的方式部署
  • 新游启航 失落的方舟台服注册指南 一文教会你方舟台服注册
  • 运维开发详解
  • 英伟达(NVIDIA)H100性能及应用场景
  • 充电宝怎么选?充电宝目前什么牌子质量好耐用?盘点好用充电宝
  • 智能视频监控技术为游泳馆安全护航,助力安全管理新升级
  • Windows通过cmd运行快速启动应用
  • 271 基于matlab的可调Q因子小波变换故障诊断
  • 吴恩达深度学习个人笔记
  • Spring的依赖注入DI
  • Java 获取和修改期日与时间的各种操作方法
  • 【ubuntu20】--- 定时同步文件
  • 网吧|基于SprinBoot+vue的网吧管理系统(源码+数据库+文档)
  • [C/C++] -- Libcurl开发
  • Streamsets-JDBC模式使用更新时间字段数据同步
  • Nodejs-- 网络编程
  • React@16.x(14)context 举例 - Form 表单
  • 十几款基于ChatGPT的免费神器,每个都是王炸!
  • devicemotion 或者 deviceorientation在window.addEventListener 事件中不生效,没有输出内容
  • java单元测试如何断言异常
  • C语言| n的阶乘相加
  • cwiseMax、cwiseMin函数
  • 【thinkphp问题栏】tp5.1重写URL,取消路径上的index.php
  • 缓冲字符流