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

news/2024/9/15 22:36:52/ 标签: 算法, leetcode, c++

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

下面贴出代码和思路

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;。一…

Java-数据库基本概念

数据库DataBase 定义: 保存一组数据的仓库就是数据库 例 BirdBoot项目中&#xff0c;我们为了保存一组用户信息&#xff0c;创建了一个目录users。里面用若干个文件保存每一个用户信息 此时users目录就可以称为是一个数据库 只不过对于这些数据的维护操作&#xff0c;要么…

Internet Download Manager(IDM)2024中文版本有哪些新功能?6.42版本功能介绍

1. Internet Download Manager&#xff08;IDM&#xff09;是一款功能强大的下载管理器&#xff0c;支持所有流行的浏览器&#xff0c;并可提升下载速度高达5倍。 2. IDM具有智能下载逻辑加速器&#xff0c;可以设置文件下载优先级、分块下载等&#xff0c;提高下载效率。 IDM…

gitlab给用户添加项目权限

1.进入管理员界面 2.进入群组 3.添加用户

Vue3 核心模块源码解析

Vue3 核心模块源码解析 1、Vue3 模块源码解析1.1 compiler-core1.1.1 目录结构1.1.2 compile逻辑 1.2 reactivity1.2.1 目录结构1.2.2 reactivity逻辑 1.3 runtime-core1.3.1 目录结构1.3.2 runtime核心逻辑 1.4 runtime-dom1.4.1 主要功能 1.5 runtime-test1.5.1 目录结构1.5.…

力扣——572.另一个树的子树

题目&#xff1a; 思路&#xff1a; 深度优先搜索&#xff0c;遍历root的每一个节点代表的整棵树是否和subroot一样。比较是否一样的时候可以从根节点开始递归&#xff0c;首先查看是否为空&#xff0c;然后值是否一样。 代码&#xff1a; vs可运行代码&#xff1a; &#…

循环依赖问题和Spring三级缓存

产生原因&#xff1a;两个或多个bean之间互相持有对方的引用 解决&#xff1a;spring三级缓存 一级缓存&#xff1a;单例池&#xff0c;存放已经经历了完整的生命周期的bean 二级缓存&#xff1a;存放早期的&#xff0c;还没走完生命周期的bean 三级缓存&#xff1a;存放对…

机械学习—零基础学习日志(python编程)

零基础为了学人工智能&#xff0c;正在艰苦的学习 昨天给高等数学的学习按下暂停键&#xff0c;现在开始学习python编程。 我学习的思路是直接去阿里云的AI学习课堂里面学习。 整体感觉&#xff0c;阿里云的AI课堂还是有一些乱&#xff0c;早期课程和新出内容没有更新和归档…

鸿蒙媒体开发【拼图】拍照和图片

拼图 介绍 该示例通过ohos.multimedia.image和ohos.file.photoAccessHelper接口实现获取图片&#xff0c;以及图片裁剪分割的功能。 效果预览 使用说明&#xff1a; 使用预置相机拍照后启动应用&#xff0c;应用首页会读取设备内的图片文件并展示获取到的第一个图片&#x…

Centos7安装Zabbix5.0的yum安装失败的解决方案

目前由于Centos7停服以及Zabbix官方限制了其5.0版本在Centos7上安装服务版本&#xff0c;因此可能会导致安装Zabbix5.0的一些组件无法正常安装。 zabbix5.0安装参考&#xff1a;一、zabbix 5.0 部署_zabbix5.0部署-CSDN博客 问题现象 当安装到zabbix的GUI包时报如下错误&…

docker上传镜像至阿里云

1、安装wsl2 WSL2安装&#xff08;详细过程&#xff09; 2、安装docker Docker在Windows下的安装及使用 3、创建私人阿里云镜像库 如何创建私人阿里云镜像仓库&#xff1f;&#xff08;保姆级&#xff09; 4、如何删除容器 (1) 查找正在使用该图像的容器 docker ps -a --filte…

ADC模数转换在stm32上的应用

ADC模数转换在stm32上的应用 文章目录 ADC模数转换在stm32上的应用1. 什么是ADC&#xff1f;2. stm32中的ADC3. 12位逐次逼近型ADC1. 工作原理2. 主要特性3. 关键部件4. 优点5. 缺点6. 应用7. 配置和使用 4. stm32的ADC转换模式1. 单次转换模式 (Single Conversion Mode)2. 连续…

SSB概述

SSB的作用 同步广播块 (SSB, Synchronization Signal Block) 在5G NR&#xff08;新无线电&#xff09;中的作用非常重要&#xff0c;主要包括以下几个方面&#xff1a; 时间和频率同步&#xff1a;SSB提供了初始的时间和频率同步信号&#xff0c;帮助用户设备&#xff08;UE…