博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode20. 有效的括号
阅读量:4089 次
发布时间:2019-05-25

本文共 787 字,大约阅读时间需要 2 分钟。

题目描述:

给定一个只包括 '('')''{''}''['']' 的字符串,判断字符串是否有效。

括号必须以正确的顺序关闭,"()" 和 "()[]{}" 是有效的但是 "(]" 和 "([)]" 不是。

解题思路:

利用栈的先入后出的原理,将对应的字符[ '[' , '(' , '{' ]入栈,每出现一个[ ')' , '}' , ']']的字符,将栈中的字符pop出来然后连接后进行判断,是正确的顺序的话就继续遍历字符串,直到结束。

代码:

class Solution(object):    def isValid(self, s):        """        :type s: str        :rtype: bool        stack        """        x = ['(','[','{']        y = [')','}',']']        z = ['()','{}','[]']        res = []  # stack        for i in s:            if i in x:  # ( [ {                res.append(i)            if i in y:  # ) ] }                if res == []:                    return False                sz = res.pop() + i                if sz not in z:                    return False        if res != []:            return False        return True

转载地址:http://mhyii.baihongyu.com/

你可能感兴趣的文章
数据结构与算法14-跳表
查看>>
Java并发编程 | 一不小心就死锁了,怎么办?
查看>>
Openldap开启TLS
查看>>
Openldap集成Kerberos
查看>>
Ranger集成Kerberos
查看>>
solr集成kerberos认证
查看>>
Flink安装部署
查看>>
Hadoop — MapReduce原理解析
查看>>
elasticSearch安装部署
查看>>
elasticSearch基本使用
查看>>
HBase读写的几种方式(一)java篇
查看>>
Jetson Nano安装pytorch 基于torch1.6和torchvision0.7
查看>>
【Jetson-Nano】2.Tensorflow和Pytorch的安装
查看>>
ubuntu 系统下的Caffe环境搭建
查看>>
Yolov5系列AI常见数据集(1)车辆,行人,自动驾驶,人脸,烟雾
查看>>
【Jetson-Nano】2.Tensorflow object API和Pytorch的安装
查看>>
荔枝派 Nano 全志 F1C100s 编译运行 Linux ubuntu并升级gcc
查看>>
C++ STL 四种智能指针
查看>>
基于sympy的python实现三层BP神经网络算法
查看>>
玩玩机器学习1——ubuntu16.04 64位安装TensorFlow GPU+python3+cuda8.0+cudnn8.0
查看>>