python 有效的括号的实现代码示例

yipeiwu_com6年前Python基础

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

有效字符串需满足:

左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。

示例 1:

输入: "()"
输出: true
示例 2:

输入: "()[]{}"
输出: true
示例 3:

输入: "(]"
输出: false
示例 4:

输入: "([)]"
输出: false
示例 5:

输入: "{[]}"
输出: true

注意此处所用代码为python3

class Solution:
  def pipei(self,m:str,c:str) -> bool:
    if m=='(' and c==')':
      return True
    elif m=='[' and c==']':
      return True
    elif m+c == '{}':
      return True
    else :
      return False
  def isValid(self, s: str) -> bool:
    lens = len(s)
    if lens == 0 :
      return True
    if s[0]==')' or s[0]==']' or s[0]=='}' :
      return False
    lis = []
    lis.append(s[0])
    for i in range(1,lens) :
      if len(lis) :
        tmp = lis.pop()
        if self.pipei(tmp,s[i]) :
          pass
        else :
          lis.append(tmp)
          lis.append(s[i])
      else :
        lis.append(s[i])
    if len(lis) :
      return False
    return True

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python解析json时提示“string indices must be integers”问题解决方法

本文实例讲述了Python解析json时提示“string indices must be integers"问题解决方法。分享给大家供大家参考,具体如下: import json,但是...

python3.6 实现AES加密的示例(pyCryptodome)

python3.6 实现AES加密的示例(pyCryptodome)

起因 前端日子写完的Python入库脚本,通过直接读取配置文件的内容(包含了数据库的ip,数据库的用户名,数据库的密码),因为配置文件中的数据库密码是明文显示的,所以不太安全,由此对其进...

Python序列操作之进阶篇

简介 Python 的序列(sequence)通常指一个可迭代的容器,容器中可以存放任意类型的元素。列表和元组这两种数据类型是最常被用到的序列,python内建序列有六种,除了刚刚有说过...

Python返回真假值(True or False)小技巧

Python返回真假值(True or False)小技巧

在昨天关于substring的blog中有如下一段代码: 也许你已经发现,在Python 3中其实有办法只用一行完成函数: 复制代码 代码如下: >>> def is...

python3.7 的新特性详解

python3.7 的新特性详解

Python 3.7增添了众多新的类,可用于数据处理、针对脚本编译和垃圾收集的优化以及更快的异步I/O。 Python这种语言旨在使复杂任务变得简单,最新版本Python 3.7已正式进...