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

leetcode0020 - 有效的括号 easy

1 题目:有效的括号

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

有效字符串需满足:

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

示例 1:

输入:s = “()”

输出:true

示例 2:

输入:s = “()[]{}”

输出:true

示例 3:

输入:s = “(]”

输出:false

示例 4:

输入:s = “([])”

输出:true

2 solution

本题比较简单,借助栈,从左往右扫描每一个字符,如果能匹配栈顶字符则出栈,否则进栈,最终如果栈里没有元素就是匹配的,否则不匹配。

提示:

1 < = s . l e n g t h < = 1 0 4 1 <= s.length <= 10^4 1<=s.length<=104
s 仅由括号 ‘()[]{}’ 组成

代码

bool isValid(string s) {
    stack<int> st;
    for(int i = 0; i < s.size(); i++){
        if(!st.empty() && (st.top() == '(' && s[i] == ')' || st.top() == '[' && s[i] == ']' ||
                st.top() == '{' && s[i] == '}'))
            st.pop();
        else st.push(s[i]);
    }
    return s.empty();
}

结果

在这里插入图片描述
有什么好的思路欢迎大家一起讨论

相关文章:

  • 精选一百道备赛蓝桥杯——2.K倍区间
  • YOLOv10改进之MHAF(多分支辅助特征金字塔)
  • BookChatApp通用书籍阅读APP
  • 云渲染技术在影视特效制作中的核心优势
  • Spring AI+硅基流动DeepSeek语音识别全栈方案:从FFmpeg预处理到分布式推理
  • 量子计算:气候模型的新纪元
  • 采用大模型技术进行知识图谱实体对齐的技术和开源项目
  • flask学习2-应用(博客)
  • 深度理解指针与内存
  • 使用数据库和缓存的时候,是如何解决数据不一致的问题的?
  • android edittext 防止输入多个小数点或负号
  • 开发环境搭建-05.后端环境搭建-前后端联调-通过断点调试熟悉项目代码特点
  • 每日一题----------枚举的注意事项和细节
  • C/C++蓝桥杯算法真题打卡(Day3)
  • 江科大51单片机笔记【11】AT24C02(I2C总线)
  • 算法·搜索
  • 数据集笔记 LTA Traffic Count
  • VS2019,VCPKG - 为VS2019添加VCPKG
  • LInux 文件系统
  • Spring Boot 缓存最佳实践:从基础到生产的完整指南
  • 凤阳县鼓楼四周连夜搭起围挡,安徽省文物局已介入调查
  • 安徽凤阳通报鼓楼瓦片脱落:去年3月维修竣工,已成立调查组
  • 15年全程免费,内蒙古准格尔旗实现幼儿园到高中0学费
  • 多少Moreless:向世界展示现代中式家具的生活美学
  • 讲座预告|以危机为视角解读全球治理
  • 夜读丨母亲为燕子打开家门