leetcode-有效括号序列-94

题目要求
在这里插入图片描述
思路
1.使用栈的先进后出的思路,存储前括号,如果st中有对应的后括号与之匹配就说明没问题
2.有两个特殊情况就是字符串第一个就是后括号,这个情况本身就是不匹配的,还有一种是前面的n个字符串本身是匹配的,这时候来了个后括号,这种也是不匹配的,这里的处理方法是,如果栈为空,不管这个字符是啥,都插入进去,最后只要判断栈是否为空就行,如果第一个字符串是后括号,最后栈肯定是不为空的。
代码实现

class Solution {
public:stack<char> st;bool isValid(string s) {// write code hereint size = s.size();for(int i = 0; i < size; i++){if (s[i] == '[' || s[i] == '{' || s[i] == '(' || st.empty())st.push(s[i]);if (s[i] == ']'){if (st.top() == '[')st.pop();elsereturn false;}if (s[i] == '}'){if (st.top() == '{')st.pop();elsereturn false;}if (s[i] == ')'){if (st.top() == '(')st.pop();elsereturn false;}}if(!st.empty())return false;return true;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/4841.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python中format的常见用法

一、填充 1、按默认顺序填充 name "Alice" age 25 print("My name is {} and I am {} years old.".format(name, age))输出&#xff1a;My name is Alice and I am 25 years old. 2、指定位置 name "Bob" age 30 print("My name is…

与Apollo共创生态:我们携手远航

目录 小程一言会议记录 回望7年发展展望未来小程有感 小程一言 4月22日&#xff0c;百度Apollo在北京车展前夕举办了以“破晓•拥抱智变时刻”为主题的智能汽车产品发布会。我在观看后也是很是触动 作为在校大学生的我&#xff0c;从大一开始知道Apollo开始&#xff0c;Apollo…

2024.04.09 校招 实习 内推 面经

绿*泡*泡VX&#xff1a; neituijunsir 交流*裙 &#xff0c;内推/实习/校招汇总表格 1、校招&实习 | 佑驾创新Minieye 春招补录实习&#xff08;内推&#xff09; 校招&实习 | 佑驾创新Minieye 春招补录实习&#xff08;内推&#xff09; 2、校招 | 上海复旦微电子…

STM32中I2C通信的完整C语言代码范例

在嵌入式系统开发中&#xff0c;STM32芯片是一种广泛应用的微控制器&#xff0c;具有强大的性能和丰富的外设功能。其中&#xff0c;I2C&#xff08;Inter-Integrated Circuit&#xff09;是一种常用的串行通信协议&#xff0c;用于在微控制器之间或者微控制器与外设之间进行数…

高并发实现高效内存管理

高并发下传统方式的弊端 void *malloc(size_t size);在内存的动态存储区中分配一块长度为size字节的连续区域返回该区域的首地址. void *calloc(size_t nmemb, size_t size);与malloc相似&#xff0c;参数size为申请地址的单位元素长度&#xff0c;nmemb为元素个数&#xff0…

开发中git的常用操作

Git 是一款分布式版本控制系统&#xff0c;广泛应用于软件开发中&#xff0c;用于管理项目的版本和修改历史。在开发过程中&#xff0c;有许多常用的 Git 操作可以帮助团队协作、版本管理和代码管理。下面将详细讲解常用的 Git 操作&#xff0c;并通过举例说明它们的用法和作用…

软考高级 | 系统架构设计师笔记(一)

一. 系统规划 1.1 项目的提出与选择 该步骤生成” 产品/项目建议书”. 1.2 可行性研究与效益分析 包括经济可行性/技术可行性/法律可行性/执行可行性/方案选择 5 个部分. 该步骤生 成”可行性研究报告”. 1.3 方案的制订和改进 包括确定软件架构/确定关键性要素?/确定计算…

spring-boot控制bean的创建顺序

1、order注解&#xff08;不一定有效&#xff09; org.springframework.core.annotation.Order 2、dependsOn注解&#xff08;有效&#xff09; org.springframework.context.annotation.DependsOn 3、提前将bean注册为BeanDefinition 1、实现BeanDefinitionRegistryPostP…

商城数据库88张表结构(八)

DDL 29.商品规格表 CREATE TABLE wang_goods_specs (id int(11) NOT NULL AUTO_INCREMENT COMMENT 自增ID,shopId int(11) NOT NULL DEFAULT 0 COMMENT 店铺ID,goodsid int(11) NOT NULL DEFAULT 0 COMMENT 商品ID,productNo varchar(20) NOT NULL COMMENT 商品货号,specids v…

Python 自定义日志输出

Python 有着内置的日志输出模块&#xff1a;logging 使用也很方便&#xff0c;但我们今天不说这个&#xff0c;我们用文件读写模块&#xff0c;实现自己的日志输出模块&#xff1b;这样在项目中&#xff0c;可以存在更高的自由度及更高的扩展性&#xff1b; 先来看看日志输出…

TDengine高可用架构之TDengine+Keepalived

之前在《TDengine高可用探讨》提到过&#xff0c;TDengine通过多副本和多节点能够保证数据库集群的高可用。单对于应用端来说&#xff0c;如果使用原生连接方式&#xff08;taosc&#xff09;还好&#xff0c;当一个节点下线&#xff0c;应用不会受到影响&#xff1b;但如果使用…

探索AI作画算法的原理:从深度学习到创造性艺术

引言 介绍AI在不同领域的应用&#xff0c;以及AI作画算法对于创造性艺术的影响。概述将在本文中讨论的主要内容。 第一部分&#xff1a;深度学习与计算机视觉 深度学习的基本原理&#xff1a;神经网络的结构和训练过程。计算机视觉的重要性&#xff1a;图像识别、生成和处理…

Python爬虫--Scrapy框架安装

Scrapy框架安装 &#xff0c; Scrapy 是 Python 领域专业的爬虫开发框架&#xff0c;已经完成爬虫程序的大部分通用工具 它使用了 Twisted 异步网络库来处理网络通讯。整体架构大致如下 第一步&#xff1a;挂小灰机或者将要安装的文件下载到本地 Scrapy 框架安装踩坑中 为什…

Blender曲线操作

1.几种常见建模方式 -多边形建模&#xff1a;Blender&#xff0c;C4D&#xff0c;3DsMax&#xff0c;MaYa -曲线&#xff1a; -曲面&#xff1a;Rhino&#xff08;Nurbs&#xff09; -雕刻&#xff1a;Blender&#xff0c;ZBrush -蜡笔&#xff1a;Blender 1&#xff09;新…

【办公类-22-14】周计划系列(5-6)“周计划-06 19周的周计划教案合并打印PDF(最终打印版))

背景需求&#xff1a; 花了十周&#xff0c;终于把周计划教案的文字都写满、加粗、节日替换了。为了便于打印&#xff0c;我把19周的周计划教案全部合并在一起PDF。制作打印用PDF 思路 1、周计划是单独打印一张&#xff0c;因此要在第2页插入空白页&#xff0c; 2、教案有3页…

鸿蒙launcher浅析

鸿蒙launcher浅析 鸿蒙launcher源码下载鸿蒙launcher模块launcher和普通的应用ui展示的区别 鸿蒙launcher源码下载 下载地址如下&#xff1a; https://gitee.com/openharmony/applications_launcher 鸿蒙launcher模块 下载页面已经有相关文件结构的介绍了 使用鸿蒙编辑器D…

CMDB系统的目标

CMDB即配置管理数据库&#xff08;Configuration Management Database, CMDB&#xff09;系统被广泛应用于实现IT资产管理和IT服务管理。CMDB系统的目标是建立一个全面的、精确的信息数据库&#xff0c;用于追踪、管理和记录IT基础设施的配置信息及其相关关系&#xff0c;从而提…

Spring Cloud Gateway直接管理Vue.js的静态资源

1. 构建Vue.js应用 像之前一样&#xff0c;构建你的Vue.js应用&#xff0c;并将生成的静态资源&#xff08;位于dist目录&#xff09;复制到Spring Boot项目的某个目录&#xff0c;比如src/main/resources/static。 2. 配置Spring Boot静态资源处理 Spring Boot默认会处理sr…

linux文件夹映射到本地win系统

在Linux上安装和配置Samba服务器相对简单&#xff0c;以下是基本的步骤&#xff1a; 1. **安装Samba软件包**&#xff1a;使用你的Linux发行版的包管理器来安装Samba软件包。例如&#xff0c;在基于Debian的发行版&#xff08;如Ubuntu&#xff09;上&#xff0c;你可以使用以…

OpenHarmony开发实例:【电话簿联系人Contacts】

样例简介 Contacts应用是基于OpenHarmony SDK开发的安装在润和HiSpark Taurus AI Camera(Hi3516d)开发板标准系统上的应用&#xff1b;应用主要功能是展示联系人列表&#xff0c;并点击某一列弹出联系人详细信息&#xff1b; 运行效果 样例原理 样例主要有一个list组件和dia…