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

力扣20:有效的括号

力扣20:有效的括号

  • 题目
  • 思路
  • 代码

题目

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

有效字符串需满足:

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

思路

有效的括号字符串一定是先几个左括号然后按照相反的顺序再添加几个右括号,所以最先出现的左括号反而是最后出去的。也就是先进后出机制这不就很容易想到我们的栈了吗。想到用什么数据结构了这道题的代码就很简单了。只需要进行判断即可。

代码

class Solution {
public:bool isValid(string s) {stack<char> st;for(auto& ch : s){if(ch == '(' || ch == '[' || ch == '{'){st.push(ch);}else if (!st.empty() && ch == ')' && st.top() == '('){st.pop();}else if(!st.empty() && ch == ']' && st.top() == '['){st.pop();}else if(!st.empty() && ch == '}' && st.top() == '{'){st.pop();}else{return false;}}if(st.empty()){return true;}return false;}
};
http://www.xdnf.cn/news/16121.html

相关文章:

  • 【Java工程师面试全攻略】Day12:系统安全与高可用设计
  • Spring Cloud OpenFeign 常用注解_笔记
  • SpringCloud【Sentinel】
  • mac llama_index agent算术式子计算示例
  • AUTOSAR进阶图解==>AUTOSAR_SWS_BSWGeneral
  • [202103][Docker 实战][第2版][耿苏宁][译]
  • Vue3实现视频播放弹窗组件,支持全屏播放,音量控制,进度条自定义样式,适配浏览器小窗播放,视频大小自适配,缓冲loading,代码复制即用
  • 机器学习入门与经典knn算法表文解析
  • USRP X440
  • C++抽象类完全指南
  • 加密算法-----BCrypt
  • 负载均衡-LoadBalance
  • 【数组的定义与使用】
  • 排序查找算法,Map集合,集合的嵌套,Collections工具类
  • 【独立工具】小红书图片采集软件
  • pytest官方Tutorial所有示例详解(二)
  • Python循环结构
  • 【数据结构】二叉树进阶算法题
  • AI服务器给一体成型电感带来多大的市场空间
  • C++开发---奥比中光(Orbbec)的ob库
  • 【CMake】CMake 常用语法总结
  • 到底可不可以用jion?jion如何优化?
  • 力扣-152.乘积最大子数组
  • 自己开发VUE之web网页打包技术毕业论文——仙盟创梦IDE
  • 【科研绘图系列】R语言绘制双侧坐标轴的条形图
  • NPM/Yarn完全指南:前端开发的“基石“与“加速器“
  • 第4章唯一ID生成器——4.1 分布式唯一ID
  • 电脑录屏软件推荐:如何使用oCam录制游戏、教程视频
  • ue4 优化
  • 完成多项问题修复,MaxKB开源企业级智能体平台v1.10.9 LTS版本发布