验证大小中括号是否成对闭合匹配

Valid Parentheses

  • 验证大小中括号是否成对闭合匹配。

  • Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.

  • The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not..

example 1

input: '{{()}}'
output: True

example 2

input: '(([)])'
output: False

example 3

input: ''
output: True

思路

  1. 使用栈(先进后出)

  2. 如果遇到左边符号{[(,则将其对应的右边符号}])入栈,如果遇到右边符号,则判断栈顶元素是否匹配,不匹配则返回False

  3. 最后栈空,则完全闭合匹配,返回True

代码

class Solution(object):def isValid(self, s):""":type s: str:rtype: bool"""brackets = {'(': ')','[': ']','{': '}'}stack = []for i in s:if i in brackets:stack.append(brackets[i])elif i in brackets.values():if len(stack) == 0 or stack.pop(-1) != i:return Falsereturn len(stack) == 0

本题以及其它leetcode题目代码github地址: github地址

验证大小中括号是否成对闭合匹配相关推荐

  1. 栈应用:判断字符串中括号是否成对出现

    练习题目 利用栈先将后出的特性,判断字符串中的数字表达式括号是否成对匹配,如果没有给出错误位置信息提示. 代码实现 代码思路很简单,如果是左括号将左括号 就入栈,遇到右括号 栈中的左括号出栈.如果该出 ...

  2. python 把一个数组arr按照指定的数组大小size分割成若干个数组块

    python 把一个数组arr按照指定的数组大小size分割成若干个数组块 这里的运行结果,我是以分割2个数组块的. def arr_size(arr,size):s=[]for i in range ...

  3. 验证用户名是否存在,手机号是否匹配,进而修改密码

    代码如下: 1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

  4. C语言验证大小端的几个方法

    大小端的问题在很多面试笔试中都会遇到,最直接的考察是,笔试的时候,让你写一个代码,如何确定当前系统是大端还是小端的. 什么是大端和小端呢? 大端: 高位字节排放在内存的低地址端,低位字节排放在内存的高 ...

  5. pycharm如何修改字体大小和背景成护眼色

    一.修改字体大小 1.修改编辑器界面的字体大小 file>>>setting>>Edit-font>>>把size从10调成14,点右下角apply 然 ...

  6. 量化噪声的大小与什么成正比_量化噪声.PPT

    量化噪声 现代通信原理电子工程学院主讲人 张骥祥;目 录;第四章 信源编码 ;数字通信的优点:1.远距离通信噪声不积累2.数字信号易于加密3.便于与数字计算机相连4.抗干扰能力强5.灵活性强,能适应各 ...

  7. php验证中文姓名,我想在表单验证中加入中文姓名合法性模糊匹配判断?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 刚开始只是想检验一下输入的是不是中文,后来学了正则表达式后,想尝试一下,把常见的姓氏通过字符串判断的形式,主要是对姓氏进行验证,当然还有输入长度,可我对自 ...

  8. php表单中姓名必须使用汉字,我想在表单验证中加入中文姓名合法性模糊匹配判断?...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 刚开始只是想检验一下输入的是不是中文,后来学了正则表达式后,想尝试一下,把常见的姓氏通过字符串判断的形式,主要是对姓氏进行验证,当然还有输入长度,可我对自 ...

  9. 实现圆形头像(并且不管图大小都显示成固定尺寸)-和上一篇有点不同。

    和上次不同的地方比较少,主要使用了 Image2.Canvas.StretchDraw(Image2.ClientRect, bmp); 对bmp进行缩放显示.(放大没有测试噢,这个显示被缩小的) 另 ...

最新文章

  1. Python开发【第三篇】:文件操作与函数
  2. Apache ZooKeeper - 使用源码启动ZK集群模式
  3. Oracle 控制文件管理
  4. 深度技术win11 32位稳定版系统v2021.08
  5. PHP 大小写转化函数的笔记
  6. 语言身高预测实验注意事项_?新预训练模型CodeBERT出世,编程语言和自然语言都不在话下...
  7. 2.5D休闲娱乐生活类插画素材,给设计添彩!
  8. AOJ GRL_1_A: Single Source Shortest Path (Dijktra算法求单源最短路径,邻接表)
  9. 20050405:什么都要会啊
  10. BP神经网络和支持向量机在R语言中的实现
  11. 《轻松读懂spring》之 IOC的主干流程(上)
  12. sht21 c语言程序,湿度传感器SHT21示例代码-SampleCodeforSHT21.PDF
  13. windows 微信多开脚本
  14. 如何用word制作英语答题卡_初中英语考试答题卡可编辑WORD版
  15. Regester 正则表达式测试工具
  16. android 拨号隐藏号码,技巧:手机隐藏代码大集合 知道五个以上是大神
  17. 3元特卖好课AngularJs基础视频教程 大漠穷秋AngularJs基础教程 AngularJs入门教程
  18. 若依 数据权限图文详细理解及改造
  19. 小程序“Mustache”语法{{}}(双大括号)获取不到值或图片
  20. 操作系统基本原理 操作系统的功能

热门文章

  1. vlookup使用步骤_使用vlookup出错,看看原因多为这几个!快来看看!
  2. decode函数_Python 内置函数总一
  3. 条件查询_多条件组合查询---测试用例设计
  4. python 字典由值找键_python字典怎么根据值返回键
  5. linux怎么获取目录名,linux下如何获取目录名?(四种方法)
  6. sql求平均日活_日活、周活(周重活)、月活 统计
  7. android handler内存,Android handler之内存泄露原因揭示
  8. Ubuntu 禁用 触摸板
  9. 什么是jQuery?
  10. MyBatis框架笔记04:MyBatis关联数据查询