【算法速刷(5/100)】LeetCode —— 20.有效的括号

news/2025/1/15 13:28:23/

题目要求比较明晰简洁,编码难度并不算高

下面贴出代码和思路

bool isValid(string s) {stack<char> stk;for(const char& c : s){if(stk.empty()){stk.push(c);continue;}if(c == '(' || c == '[' || c == '{'){stk.push(c);continue;}else{char top = stk.top();bool isMatch =  (top == '(' && c == ')') ||(top == '[' && c == ']') ||(top == '{' && c == '}');if(!isMatch)return false;stk.pop();}}return stk.empty();}

使用栈可以快速解答本题

主要聚焦在以下几点:

遍历过程中:

        栈为空:无脑允许进栈

        栈不为空:进行条件判断

                是左括号:无脑进栈

                是右括号:检查是否匹配栈顶括号

                        不匹配直接返回false

                        匹配就弹出栈顶

遍历结束后:

        栈为空:返回true

        栈不为空:还有剩余括号,返回false


http://www.ppmy.cn/news/1506093.html

相关文章

Python学习(1):使用Python的Dask库实现并行计算

目录 一、Dask介绍 二、使用说明 安装 三、测试 1、单个文件中实现功能 2、运行多个可执行文件 最近在写并行计算相关部分&#xff0c;用到了python的Dask库。 Dask官网&#xff1a;Dask | Scale the Python tools you love 一、Dask介绍 Dask是一个灵活的并行和分布式…

nginx日志解析

Nginx 的日志默认参数包括访问日志&#xff08;Access Log&#xff09;和错误日志&#xff08;Error Log&#xff09;。以下是对这些默认参数的详细解析&#xff1a; 1. 访问日志&#xff08;Access Log&#xff09; 访问日志记录了每个客户端请求的详细信息&#xff0c;包括…

mmdebstrap:创建 Debian 系统 chroot 环境的利器 ️

文章目录 mmdebstrap 的一般性参数说明 &#x1f4dc;mmdebstrap 的常见用法示例 &#x1f308;使用 mmdebstrap 的注意事项 ⚠️ &#x1f308;你好呀&#xff01;我是 山顶风景独好 &#x1f388;欢迎踏入我的博客世界&#xff0c;能与您在此邂逅&#xff0c;真是缘分使然&am…

2017-架构师案例(九)

某软件企业受该省教育部门委托建设高校数字化教育教学资源共享平台&#xff0c;实现以众筹众创的方式组织省内普通高校联合开展教育教学资源内容建设&#xff0c;实现全省优质教学资源整合和共享。该资源共享平台的主要功能模块包括: (1)统一身份认证模块:提供统一的认证入口&…

一、安装go环境以及编译输出HelloWorld

目前的热门技术方向从分布式微服务开始转向云原生而云原生方向需要掌握GO语言&#xff0c;基于此决定利用平时的时间来完成GO语言的学习。 安装&#xff08;基于mac m1&#xff09; &#xff08;翻看了网上很多的资料&#xff0c;发现很多人记录的有很多问题&#xff0c;一个…

左神学习笔记-岛屿数量问题(java版算法)

目录 1. 问题描述2. 解决方法3. 拓展进阶问题4. 参考链接 1. 问题描述 题目&#xff1a;一个矩阵中只有0和1两个值&#xff0c;每个位置都可以和自己的上下左右四个位置相连&#xff0c;如果有一片1连在一起&#xff0c;这一部分叫做一个岛&#xff0c;求一个矩阵中有多少岛&a…

uBlock Origin很快将无法在Chrome上使用 开发者发布情况说明

Chrome v127 版开始扩展程序页面将自动显示即将不再支持的扩展程序&#xff0c;包括知名的广告拦截扩展程序 uBlock Origin 也在谷歌的警告列表中。昨天 uBO 团队发布新的支持文档对目前的情况进行说明&#xff0c;简单来说就是 Chrome 将不再支持基于 Manifest v2 开发的扩展程…

前端构建工具|vite快速入门

认识vite vite组成部分 Vite是一种新型前端构建工具&#xff0c;能够显著提升前端开发体验。它主要由两部分组成&#xff1a; 一个开发服务器&#xff0c;它基于 原生 ES 模块 提供了 丰富的内建功能&#xff0c;如速度快到惊人的 模块热更新&#xff08;HMR&#xff09;。一…