【栈】【字符】Leetcode 20 有效的括号

【栈】【字符】Leetcode 20 有效的括号

    • 解法1 栈的操作(先进后出)

---------------🎈🎈题目链接🎈🎈-------------------

在这里插入图片描述

解法1 栈的操作(先进后出)

新建栈:Stack<Character> mystack = new Stack<>();
遍历字符串:for(int i = 0; i < s.length() ; i++){char ch = s.charAt(i)}
判断栈是否为空:mystack.isEmpty()
向栈内加入元素(栈顶):mystack.push()
从栈内移除元素(栈顶):mystack.pop()
获取栈顶元素:mystack.peek()

时间复杂度O(N)
空间复杂度O(N)

class Solution {public boolean isValid(String s) {if(s.length() == 0) return true;Stack<Character> mystack = new Stack<>();for(int i = 0; i < s.length(); i++){char ch = s.charAt(i);if(mystack.isEmpty()){mystack.push(ch);continue;}else if((mystack.peek()=='(' && ch==')') || (mystack.peek()=='[' && ch==']') || (mystack.peek()=='{' && ch=='}')){mystack.pop();continue;}else{mystack.push(ch);}}if(mystack.isEmpty()) return true;else return false;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/345623.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity图片导入趣事随笔

像这样的png格式的图片&#xff0c;直接导入unity时unity会把没有像素的部分用黑色填充&#xff0c;并根据填充部分自动生成alpha通道。看起来alpha通道是不能手动覆盖的&#xff0c;即使在ps中手动添加一个alpha通道&#xff0c;并添加覆盖值。 导出后也会发现这没有任何意义&…

算法通关村番外篇-LeetCode编程从0到1系列一

大家好我是苏麟 , 今天开始带来LeetCode编程从0到1系列 . 编程基础 0 到 1 , 50 题掌握基础编程能力 大纲 1768.交替合并字符串389. 找不同28. 找出字符串中第一个匹配项的下标283. 移动零66. 加一1502. 判断能否形成等差数列 1768.交替合并字符串 描述 : 给你两个字符串 wor…

2024随身WiFi还能买吗?随身WiFi哪个品牌最靠谱,高性价比高口碑随身wifi推荐

一、你为什么选择随身Wifi&#xff1f; 宿舍的网&#xff0c;速度太慢了&#xff01; 出差路上&#xff0c;热点连不上&#xff1f; 电话会议&#xff0c;突然就断了&#xff1f; 网络稳定 因为经常出差流量不够用&#xff0c;去的地方经常信号不稳定&#xff0c;经过朋友…

imgaug库指南(20):从入门到精通的【图像增强】之旅

引言 在深度学习和计算机视觉的世界里&#xff0c;数据是模型训练的基石&#xff0c;其质量与数量直接影响着模型的性能。然而&#xff0c;获取大量高质量的标注数据往往需要耗费大量的时间和资源。正因如此&#xff0c;数据增强技术应运而生&#xff0c;成为了解决这一问题的…

【MySQL】导入导出SQL脚本及远程备份---超详细介绍

目录 前言&#xff1a; 一 navcat导入导出 1.1 导入 1.2 导出 二 mysqldump 导入导出 2.1 导入 2.2 导出 三 load data infile命令导入导出 3.1 导入 3.2 导出 四 远程备份 五 思维导图 前言&#xff1a; 随着当今企业发展&#xff0c;数据库的数据越来越多&…

迎接数智时代:数字经济引领可视化转型

在数字经济的持续崛起下&#xff0c;企业正在进行数字化转型&#xff0c;其中可视化和数智化成为关键驱动力。NFC技术的应用更是为这一转型提供了新的可能性。 数字经济塑造未来&#xff1a; 数字经济的兴起标志着企业正进入一个全新的时代。通过数字技术&#xff0c;企业可…

Windows Redis图形客户端 Another Redis Desktop Manager的简单使用教程

1、 Redis官方文档 2、 Redis国内中文版文档 3、 Redis客户端 Another Redis Desktop Manager 4、连接redis服务 我直接使用的是公司搭建好的服务。连接服务需要以下几个信息&#xff1a; HostPortPasswordSSL 5、New Key 5.1 如何创建一个Key&#xff1f; 点击New k…

单片机原理及应用:定时器/计数器综合应用

本文是《单片机原理及应用》专栏中的最后一篇文章&#xff0c;笔者以编译器的安装配置——51单片机简介——LED和数码管外设——开关和按键控制功能切换——外部中断系统——定时器与计数器为知识大纲&#xff0c;介绍了C语言编程控制51单片机的入门教程。作为收尾&#xff0c;…

基于Python的汽车信息爬取与可视化分析系统

介绍 这款汽车信息网站是基于多项技术和框架设计的全面的汽车信息展示及查询系统。其中&#xff0c;采用了Python Django框架和Scrapy爬虫技术实现数据的抓取和处理&#xff0c;结合MySQL数据库进行数据存储和管理&#xff0c;利用Vue3、Element-Plus、ECharts以及Pinia等前端…

Django教程第2章| Web开发实战 |用户管理模块

前言 从第2章开始&#xff0c;我们正式以实战为核心开发用户管理系统&#xff0c;计划实现效果图所有模块功能。 本章我们将开始实现我们第一个功能模块&#xff1a;用户管理。 技术栈 Boostrap、jQuery、​​​Django 功能模块 模块进度功能点部门管理完成增删改查&…

【排序篇2】选择排序、计数排序

目录 一、选择排序二、计数排序 一、选择排序 整体思想&#xff1a; 从数组中选出最小值和最大值放在起始位置&#xff0c;直到排序完成 具体步骤&#xff1a; 定义两个变量begin和end为下标&#xff0c;指向数组始末定义要找的最大值的下标为maxi&#xff0c;最小值的下标为…

若依基于sm-crypto实现前后端登录密码加密

上一节介绍了基于jsencrypt实现的密码加密解密登录功能&#xff0c;这次来介绍基于sm-crypto实现前后端登录密码加密&#xff0c;本次采用的是sm2进行的加密解密。 后端 首先从后端代码开始写起(因为公钥和私钥都是要从java代码中生成)&#xff1a; 首先需要引入sm-crypto的j…