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

news/2024/6/18 4:28:20 标签: leetcode, 算法, java, 职场和发展, 1024程序员节

【栈】【字符】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)

java">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.niftyadmin.cn/n/5321146.html

相关文章

OpenAI的ChatGPT:引领人工智能交流的未来

如果您在使用ChatGPT工具的过程中感到迷茫&#xff0c;别担心&#xff0c;我在这里提供帮助。无论您是初次接触ChatGPT plus&#xff0c;还是在注册、操作过程中遇到难题&#xff0c;我都将为您提供一对一的指导和支持。(qq:1371410959) 一、ChatGPT简介 OpenAI的ChatGPT是一…

中科全安 - - 渗透实习生 - - 一面

你如何看待加班现象&#xff1f; &#xff08;本人当然不想加班&#xff0c;哎&#xff0c;下面是百度的标准答案&#xff09; 针对加班的这个问题&#xff0c;如果是紧急工作安排需要的话&#xff0c;我一定听从公司的安排。但是我个人并不会刻意的为了加班而加班&#xff0c;…

234.【2023年华为OD机试真题(C卷)】数组去重和排序(JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目二.解题思路三.题解代码Python题解代码JAVA题解…

vue3-响应式基础之reactive

reactive() 还有另一种声明响应式状态的方式&#xff0c;即使用 reactive() API。与将内部值包装在特殊对象中的 ref 不同&#xff0c;reactive() 将使对象本身具有响应性&#xff1a; 「点击按钮1」 <script lang"ts" setup> import { reactive } from vuec…

计算机毕业设计----SSH实现简单在线听音乐收藏管理系统

项目介绍 项目分为管理员与普通用户两种角色&#xff0c; 管理员角色包含以下功能&#xff1a; 管理员登录,用户管理,歌曲管理等功能。 用户角色包含以下功能&#xff1a; 按分类查看,添加歌单,用户登录等功能。 环境需要 1.运行环境&#xff1a;最好是java jdk 1.8&…

步进电机相关知识 以及 TMC2660 步进电机驱动芯片驱动步进电机

步进电机相关知识 以及 TMC2660 步进电机驱动芯片驱动步进电机 前言一、步进电机基础知识1、电机常用概念2、步进电机小知识3、步进电机分类4、步进电机工作原理细分驱动步进电机 5、使用的步进电机型号以及相关参数 二、步进电机驱动芯片 TMC2660 和MCU端步进电机驱动芯片TMC2…

关于springboot项目集成kafka的常见错误

A component required a bean of type ‘org.apache.kafka.clients.consumer.KafkaConsumer’ that could not be found. 程序运行后&#xff0c;提示KafkaConsumer这个实例未找到&#xff0c;这种错误通常发生在以下几种情况下&#xff1a; 缺少 Kafka 客户端库依赖&#xff…

2401d,d导入C的问题

原文 D中是否可用仅C头文件库? 在C语言中,我需要这样做: #define STB_DS_IMPLEMENTATION #include "stb_ds.h"在包含h文件前,必须在单个C文件中定义. 在D中试过: enum STB_DS_IMPLEMENTATION 1; import stb_ds;但它不管用.有建议吗?也许使用中间C文件会工作 ,但…