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

力扣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.dtcms.com/a/296448.html

相关文章:

  • 秋叶sd-webui频繁出现生成后无反应的问题
  • Java_多线程_生产者消费者模型_互斥锁,阻塞队列
  • P1308 [NOIP 2011 普及组] 统计单词数
  • 【Java】 Arthas 实战:用“侦探式”排查法定位 Java 异常根源
  • 用python自动标注word试题选项注意事项
  • LeetCode71简化路径
  • 【开源】WpfMap:一个基于WPF(Windows Presentation Foundation)技术构建的数据可视化大屏展示页面
  • 新能源汽车行业研究系列报告
  • Web前端交互利用Python跟大模型操作
  • multiprocessing模块使用方法(三)
  • multiprocessing模块使用方法(一)
  • PM2使用
  • HMAC算法之SHA256哈希C++实现详解
  • windwos11网页切换残留/卡屏/冻结/残影问题
  • 在 OceanBase 中,使用 TO_CHAR 函数 直接转换日期格式,简洁高效的解决方案
  • 【安卓笔记】lifecycle与viewModel
  • 科大讯飞运维 OceanBase 的实践
  • RabbitMQ—仲裁队列
  • OceanBase 4.3.5 解析:DDL性能诊断
  • Windows 11下纯软件模拟虚拟机的设备模拟与虚拟化(仅终端和网络)
  • SpringCloud -- 服务保护和分布式事务
  • 六、Element-快速入门
  • Oracle序列
  • HTTP和HTTPS复习
  • 每日功能分享|让观看者体验“无缝链接”观看的功能——视频自动续播功能
  • 亚马逊云科技:引领云计算新时代,开启无限可能
  • 【PHP】ThinkPHP5使用EasyTask插件做定时任务
  • RAG面试内容整理-2. 稀疏检索基础(倒排索引、TF-IDF、BM25 等)
  • Vue2文件上传相关
  • vue中轮询:推荐 vue-request、@vueuse/core、rxjs