美文网首页
Python编程题4--判断字符串里面的括号是否闭合

Python编程题4--判断字符串里面的括号是否闭合

作者: wintests | 来源:发表于2020-08-16 09:51 被阅读0次

题目

给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足以下要求:
1,左括号必须用相同类型的右括号闭合。
2,左括号必须以正确的顺序闭合。
3,注意空字符串可被认为是有效字符串。

例如,"{[{()}]()}"就是一个闭合的有效字符串。

实现思路

这里我们运用 里面 先进后出 的思想来处理问题。

  • 遍历字符串中的每一个括号
  • 定义一个空列表,如果遇到左括号,就存储到列表中
  • 如果遇到右括号,判断列表是否为空,不为空就弹出列表中最后一个左括号,并判断右括号和弹出的左括号是否匹配,不匹配则返回 False
  • 如果遇到右括号,且列表为空,那么也就表示列表中没有匹配的括号,则直接返回 False
  • 遍历结束,最后再判断列表是否为空,不为空则表示左/右括号有多余的,返回 False ; 为空则表示是闭合的有效字符串,返回 True

代码实现

def demo(s):
    stack = []
    for i in s:
        if i == "(" or i == "[" or i == "{":
            stack.append(i)
        elif i == ")":
            if len(stack) == 0 or stack.pop() != "(":
                return False
        elif i == "]":
            if len(stack) == 0 or stack.pop() != "[":
                return False
        elif i == "}":
            if len(stack) == 0 or stack.pop() != "{":
                return False
    return True if len(stack) == 0 else False


res1 = demo("{[{()}]()}")
print(res1 == True)

res2 = demo("{}())))[]")
print(res2 == False)

res3 = demo("")
print(res3 == True)

更多Python编程题,等你来挑战:Python编程题汇总(持续更新中……)

相关文章

  • Python编程题4--判断字符串里面的括号是否闭合

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

  • 2021-03-25

    js 判断由"()[]{}"6种括号组成的字符串是否合法 所有括号必须闭合 左括号必须在正确的位置闭合 原理:创建...

  • 栈-E20-有效的括号

    题目 概述:给你一个只包含括号的字符串,判断该字符串中括号是否正确闭合,正确闭合的条件如下: 左括号必须与相同类型...

  • leetcode_41有效的括号

    判断字符串中的括号是否均可以闭合,本次的思路是,从左往右循环查找右括号,遇到右括号则进行对应的闭合(这时意味着在该...

  • 用栈概念解决“括号()[]{}判断是否有效”

    请使用栈概念,判断字符串内的括号,包括"("、"["、"{")是否闭合,举例如下: 我的解法如下: THE END!

  • 算法---括号匹配

    给一个括号字符串序列,判断所有的括号是否匹配

  • Python面试题:使用栈处理括号匹配问题

    括号匹配是栈应用的一个经典问题, 题目判断一个文本中的括号是否闭合,如: text = "({[({{abc}})...

  • 栈、队列解决问题

    栈解决括号匹配问题 一个字符串中包含小括号、中括号、大括号,判断该字符串中的括号是否匹配 ()()[]{} 匹配...

  • 要成功就做一百题-93

    题目名称 有效的括号判断 描述 输入的字符串只包含{ [] } ()三种括号的组合,判断输入是否是有效的括号,如下...

  • 栈-N921-使括号有效的最少添加

    题目 概述:给定一个只包含括号的字符串,问至少添加多少个括号能使该字符串正确闭合,正确闭合的条件如下: 左括号必须...

网友评论

      本文标题:Python编程题4--判断字符串里面的括号是否闭合

      本文链接:https://www.haomeiwen.com/subject/uahhdktx.html