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

有效的括号

empty: 判断栈是否为空,当栈为空时返回ture,当栈不为空时返回false。

20. 有效的括号

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

有效字符串需满足:

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

示例 1:

输入:s = "()"

输出:true

示例 2:

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

输出:true

示例 3:

输入:s = "(]"

输出:false

示例 4:

输入:s = "([])"

输出:true

class Solution {
public:bool isValid(string s) {if(s.size()%2==1){return false;}stack<char>st;for(int i=0;i<s.size();i++){if(s[i]=='(') st.push(')');else if(s[i]=='{') st.push('}');else if(s[i]=='[') st.push(']');else if(st.empty()||st.top()!=s[i]) return false;else st.pop();}return st.empty();}
};

判断字符串长度是否为奇数,如果是奇数的话返回false。创建一个char类型的栈,名为st。定义一个整型变量i,i等于0,小于字符串长度时,进入循环。如果s的第i个元素为‘(’时,插入‘)’,方便后续 匹配。‘{’‘[’同理。如果栈不为空且栈的顶部元素不等于s的第i个元素时返回false。否则踢出顶部元素。跳出循环。返回empty,目的是判断栈是否为空,当栈为空时返回ture,当栈不为空时返回false。判断栈是否为空,当栈为空时返回ture,当栈不为空时返回false。

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

相关文章:

  • 【蓝桥杯省赛真题49】python偶数 第十五届蓝桥杯青少组Python编程省赛真题解析
  • ROS--NAVI DWA
  • 【c语言】动态内存分配
  • MySQL 迁移至 Doris 最佳实践方案
  • 低功耗实现方法思路总结
  • 策略模式-枚举实现
  • 如何判断一个网站后端是用什么语言写的
  • 7.Pyecharts:全局配置项1
  • Python 翻译词典小程序
  • 平替BioLegend品牌-Elabscience FITC Anti-Mouse CD8a抗体(53-6.7)精准标记T细胞表面抗原
  • 断点续传使用场景,完整前后端实现示例,包括上传,下载,验证
  • 麒麟系统ARM64架构部署mysql、jdk和java项目
  • 牛客网刷题:NC208813求逆序数
  • 【PX4飞控】在 Matlab Simulink 中使用 Mavlink 协议与 PX4 飞行器进行交互
  • python处理异常,JSON
  • 数据结构—排序(斐波那契数列,冒泡,选择,插入,快速,归并,图,广度优先算法)
  • NSSCTF [GFCTF 2021]where_is_shell
  • 【MySQL】多表连接查询
  • postgresql主从+repmgr+keepalive安装
  • Google DeepMind 推出AlphaEvolve
  • Trivy:让你时刻掌控的开源安全扫描器
  • 产线视觉检测设备技术方案:基于EFISH-SCB-RK3588/SAIL-RK3588的国产化替代赛扬N100/N150全场景技术解析
  • SQL:MySQL函数:条件函数(Conditional Functions)
  • OpenCV人脸识别EigenFace算法、案例解析
  • [学习]RTKLib详解:tle.c(系列终章)
  • 一般的析因设计
  • 探索Turn.js:打造惊艳的3D翻页效果
  • 2025年,如何制作并部署一个完整的个人博客网站
  • 让三个线程(t1、t2、t3)按顺序依次打印 A、B、C
  • 网站漏洞存在哪些危害,该如何做好预防?