首页 > 编程语言 >有效的括号--LeetCode算法

有效的括号--LeetCode算法

时间:2023-08-10 16:36:06浏览次数:41  
标签:遍历 return -- stack 括号 false else true LeetCode

不用map的解法

public boolean isValid(String s) {
    //输入的字符串为空,直接返回true    
    if(s.isEmpty())
        return true;
    //新建一个栈
    Stack<Character> stack=new Stack<Character>();
    //遍历传入的字符串
    //如果时"(","{","[" 就向栈中放入")","}","]"
    //如果栈空,也就是,没有"(","{","["这些字符;或者有这些字符,但取出栈顶元素与当前遍历值不同的话,返回false
    for(char c:s.toCharArray()){
        if(c=='(')
            stack.push(')');
        else if(c=='{')
            stack.push('}');
        else if(c=='[')
            stack.push(']');
        else if(stack.empty()||c!=stack.pop())
            return false;
    }
    if(stack.empty())
        return true;
    return false;
}

测试解释:

1、如果传入数据是“{ [ (”,就向栈中放入")","}","]",那么这个栈并不为空,就会执行最后一行return false;

2、如果传入数据是“( ) { } [ ]”,遍历 "(" 时栈中先放入 ")" ,当遍历到 ")" 时,走else if判断,stack.pop()取出栈顶元素为 ")" ,与正好要遍历的元素相同,返回true;接着遍历后边的元素,如果全都符合则返回true。   

标签:遍历,return,--,stack,括号,false,else,true,LeetCode
From: https://www.cnblogs.com/nliu/p/17620710.html

相关文章

  • 利用爬虫爬知乎少字回答
    利用爬虫爬知乎少字回答感谢马哥python说的指导最近在学习有关的知识如果怕对服务器影响可以修改sleep时间每次更长一点。这样就不用看一些营销号的长篇大论或者看别人写小说了。#发送请求有bug一次只有五个回答但是我们可以拿到下一次回答。#最后一次回答的......
  • vue自定义指令(防抖)
    importVuefrom'vue'/***按钮防抖,300毫秒内只触发一次请求*区分了一下传参和不传参的情况*///不传参数,用法:v-debounce="test_debounce"Vue.directive('debounce',{inserted:function(el,binding){lettimerel.addEventListener('click',......
  • 洛谷 P3387 【模板】缩点
    在洛谷中查看所有思考都在代码,可以结合代码思考谢谢~#include<bits/stdc++.h>usingnamespacestd;constintN=1e4+5;intn,m,val[N];intdfn[N],low[N],num,col[N],cnt;//col记录每个点属于哪个联通分量//num记录遍历时间cnt记录缩点完后有多少个点in......
  • 【华秋干货铺】电源PCB设计汇总
    在《PCB设计丨电源设计的重要性》一文中,已经介绍了电源设计的总体要求,以及不同电路的相关布局布线等知识点,那么本篇内容,小编将以RK3588为例,为大家详细介绍其他支线电源的PCB设计。 电源PCB设计 01如下图(上)所示的滤波电容,原理图上靠近RK3588的VDD_CPU_BIG电源管脚绿线以内的......
  • RPM包强制安装详解
    RPM包强制安装详解一、强制安装的含义在进行rpm包安装的过程中,有时会遇到依赖关系不完整、版本不兼容等问题,导致安装失败。这时,我们可以使用强制安装的方法,通过跳过依赖检查、版本检查等环节,强制安装该rpm包。二、强制安装的方式强制安装rpm包有两种方式:1、使用--force选项强制......
  • (笔记)tftp文件上传与下载命令
     一、下载文件(如从嵌入式主机下载文件至PC上)tftp-lfile-ppc_ip举例:tftp-lembedded.c-p172.16.1.200 二、上传文件(如从PC上传文件至嵌入式主机上)tftp-rfile-gpc_ip举例:tftp-rpc.c-g172.16.1.200 ......
  • 【Fegin技术专题】「原生态」从源码层面让你认识Feign工作流程和运作机制
    推荐超值课程:点击获取Feign简介介绍什么是feign:一款基于注解和动态代理的声明式restfulhttp客户端。原理Feign发送请求实现原理微服务启动类上标记@EnableFeignClients注解,然后Feign接口上标记@FeignClient注解。@FeignClient注解有几个参数需要配置,这里不再赘述,都很简单......
  • R7 7735HS参数 锐龙77735HS怎么样相当于什么水平级别
    R77735HS采用了Zen3+架构,8核16线程,3.2-4.75GHz,16MBL3缓存,12CU2.2GHz核显,默认TDP35-54WR77735HS性能怎么样这些点很重要看过你就懂了 http://www.adiannao.cn/dy ......
  • 【Archaius技术专题】「Netflix原生态」动态化配置服务之微服务配置组件变色龙
    推荐超值课程:点击获取前提介绍如果要设计开发一套微服务基础架构,参数化配置是一个非常重要的点,而Netflix也开源了一个叫变色龙Archaius的配置中心客户端,而且Archaius可以说是比其他客户端具备更多生产级特性,也更灵活。*在NetflixOSS微服务技术栈中,几乎所有的其它组件(例如Zuul......
  • ubuntu putty ntsysv 图形化命令界面 错位 乱码
    有待验证 ntsysv zhcon是工作在Linux控制台下的高效双字节中/日/韩(CJK)虚拟终端,就像DOS环境中的UCDOS一样,为控制台(console)环境提供完整的双字节语言环境。 apt-getinstallzhcon#adduser$(whoami)video#添加当前用户到video中zhcon--utf8#运行zhcon(注意:输入的是......