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

yipeiwu_com7年前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使用cookie库操保存cookie详解

Cookie用于服务器实现会话,用户登录及相关功能时进行状态管理。要在用户浏览器上安装cookie,HTTP服务器向HTTP响应添加类似以下内容的HTTP报头: 复制代码 代码如下:Se...

pytorch 实现删除tensor中的指定行列

前言 在pytorch中, 想删除tensor中的指定行列,原本以为有个函数或者直接把某一行赋值为[]就可以,结果发现没这么简单,因此用了一个曲线救国方法,希望如果有更直接的方法,请大家...

numpy排序与集合运算用法示例

numpy排序与集合运算用法示例

这里有numpy数组的相关介绍/post/130657.htm 排序 numpy与python列表内置的方法类似,也可通过sort方法进行排序。 用法如下: In [1]: imp...

python3实现用turtle模块画一棵随机樱花树

python3实现用turtle模块画一棵随机樱花树

废话不多说了,直接上代码吧! #!/usr/bin/env python # coding=utf-8 # 画一棵樱花 import turtle import random...

Python pip替换为阿里源的方法步骤

Python pip替换为阿里源的方法步骤

背景 由于 python 自带的源下载速度非常慢,特别是安装一些库的时候,甚至有时会失败。 pip国内的一些镜像   阿里云 http://mirror...