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

Leetcode—20.有效的括号【简单】

2023每日刷题(二十七)

Leetcode—20.有效的括号

在这里插入图片描述

C++实现代码

class Solution {
public:bool isValid(string s) {stack<char> arr;int len = s.size();if(len == 1) {return false;}for(int i = 0; i < len; i++) {if(s[i] == '(' || s[i] == '[' || s[i] == '{') {arr.push(s[i]);} else {if(arr.empty()) {return false;}char t = s[i];char pairBracket = ' ';switch(t) {case ')':pairBracket = '(';break;case ']':pairBracket = '[';break;case '}':pairBracket = '{';break;}if(arr.top() != pairBracket) {return false;} else {arr.pop();}}}if(arr.empty()) {return true;}return false;}
};

运行结果

在这里插入图片描述

C语言实现代码

#define MAXSIZE 10003typedef struct {char data[MAXSIZE];int top;
}SqStack;void InitStack(SqStack *st) {st->top = -1;
}bool stackEmpty(SqStack st) {return st.top == -1;
}bool Push(SqStack *st, char e) {if(st->top == MAXSIZE - 1) {return false;}st->top++;st->data[st->top] = e;return true;
}char Pop(SqStack *st) {char e = st->data[st->top];st->top--;return e;
}char getTop(SqStack st) {return st.data[st.top];
}bool isValid(char* s) {SqStack st;InitStack(&st);int n = strlen(s);for(int i = 0; i < n; i++) {if(s[i] == '(' || s[i] == '[' || s[i] == '{') {Push(&st, s[i]);} else {if(stackEmpty(st)) {return false;}char t = s[i];char pairBracket = ' ';switch(t) {case ')':pairBracket = '(';break;case ']':pairBracket = '[';break;case '}':pairBracket = '{';break;}if(getTop(st) != pairBracket) {return false;} else {Pop(&st);}}}if(stackEmpty(st)) {return true;}return false;
}

运行结果

在这里插入图片描述
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

http://www.lryc.cn/news/227727.html

相关文章:

  • Leetcode—剑指OfferII LCR 019.验证回文串II【简单】
  • Mac电脑配置Flutter开发环境
  • QTableView如何清空数据保留表头
  • [工业自动化-17]:西门子S7-15xxx编程 - 软件编程 - PLC编程语言以及与嵌入式编程的比较
  • 云原生微服务架构及实现技术
  • Uniapp语言切换动态修改Js文件
  • GetSimple CMS忘记密码
  • 数据分析面试题1
  • 数据跨领域应用实例—车辆通行大数据应用场景(二)
  • Dart笔记:build_runner-用于 Dart 代码生成和模块化编译的构建系统
  • Ubuntu显示毫秒级时间
  • 模板——“C++”
  • 分类预测 | Matlab实现PSO-BiLSTM粒子群算法优化双向长短期记忆神经网络的数据多输入分类预测
  • Spring面试题:(六)Spring注解开发原理
  • ROS基础知识复习
  • 2390 高校实验室预约系统JSP【程序源码+文档+调试运行】
  • C++进阶篇4---番外-红黑树
  • 《网络协议》05. 网络通信安全 · 密码技术
  • 通信信道:无线信道中衰落的类型和分类
  • 4.HTML网页开发的工具
  • 【Qt5 VS2019 (C++)编译报错解决】ASSERT failure in QList<T>::at: “index out of range“
  • linux环境安装redis,以及常用的操作
  • C++ Qt 学习(六):Qt http 编程
  • 38 路由的过滤器配置
  • 3分钟带你了解前端缓存-HTTP缓存
  • 【多线程 - 03、线程的生命周期】
  • excel表的筛选后自动求和
  • 2311rust特征
  • 原型模式 rust和java的实现
  • 阿里云ACK(Serverless)安装APISIX网关及APISIX Ingress Controller