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

2023免费b站推广网站郑州网络推广报价

2023免费b站推广网站,郑州网络推广报价,wordpress qux主题,网站建设知识20. 有效的括号 - 力扣(LeetCode) 判断只包含{} [] ()字符的字符串s,是否符合括号匹配的原则: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号 通常是使用栈这种先…

20. 有效的括号 - 力扣(LeetCode)

判断只包含{} [] ()字符的字符串s,是否符合括号匹配的原则:

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

通常是使用栈这种先进后出的数据结构的特性完成。主要是说明一个技巧。

使用栈stack存储遇到的左括号,一旦遇到右括号,就和栈顶的字符比较,看是否匹配,比如

]对应栈顶的[,)对应栈顶的(,}对应栈顶的{。

这种方法当遇到右括号时,需要判断是哪一种右括号,并且还有判断栈顶是哪一种左括号,代码比较繁琐,一种更好的方法是,遇到左括号时,直接存储对应的右括号,这样遇到对应的右括号时,只需要判断是否与栈顶的元素相等就可以,比较简洁。

注意第一个为右括号时,栈中没有存储元素出现的存储越界情况。

参考代码如下:

class Solution {
public:bool isValid(string s) {stack<char> st;//存储括号字符if (s.length() % 2 != 0)//奇数不可能匹配return false;for (int i = 0; i < s.length(); ++i) {//一个一个遍历字符if (s[i] == '(')//遇到左括号,直接存储对应的右括号st.push(')');else if (s[i] == '{')st.push('}');else if (s[i] == '[')st.push(']');else {//遇到右括号if (st.size() == 0 || s[i] != st.top())//直接判断是否等于栈顶的字符,而不用使用多个判断,判断是否是对应的左括号,st.size()是第一个字符就是右括号的情况,避免栈越界访问return false;else//匹配,出栈st.pop();}}return st.empty();//为空,说明所有的括号都匹配}
};

http://www.dtcms.com/wzjs/63217.html

相关文章:

  • 游戏开发与网站开发哪个难广州seo优化费用
  • 如何靠做网站赚钱吗全网营销推广是什么
  • 重庆建设网站首页店铺推广引流的方法
  • 视频网站备案怎么做网站制作软件
  • 东莞是不是有疫情苏州吴中区seo关键词优化排名
  • 在线免费网站北京百度科技有限公司电话
  • 站内营销推广方式网站推广模式
  • 网站首页做跳转什么是关键词搜索
  • 个人站长做哪些网站好做外贸网站哪家公司好
  • 有哪个网站教人做美食百度网盘客户端下载
  • 自助建站系统厂家互联网推广引流
  • 美国新冠肺炎疫情最新情况快速提升排名seo
  • 试用网站 建站包头整站优化
  • 住房和城乡建设部网站八大员企业营销策划及推广
  • 珠海网站建设哪家公司好2022年十大网络流行语发布
  • 手机网站关闭窗口代码软件定制开发公司
  • 用dw制作视频网站武汉百度seo网站优化
  • 郑州外贸网站建设商家网页优化怎么做
  • 深圳知名网站建设价格网站制作建设公司
  • 帮人做网站要怎么赚钱吗广东疫情最新消息今天又封了
  • 日本人真人做真爱免费的网站百度网站的网址是什么
  • 做网站申请域名空间百度账号登陆
  • 博客可以放自己做的网站营销伎巧第一季
  • 用网站模板给人做网站挣钱吗百度推送
  • 做网站需要准备的东西培训课程开发
  • 软文自助发稿软件开发 网站建设网络营销推广工具
  • 常营网站建设公司2024北京又开始核酸了吗今天
  • 百度免费建立网站营销软文是什么
  • 济南网站建设公司熊掌号关键词优化公司靠谱推荐
  • 慢慢来做网站多少钱网站广告制作