08
2019
04

Python实现“有效的括号”

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

有效字符串需满足:

左括号必须用相同类型的右括号闭合。

左括号必须以正确的顺序闭合。

注意空字符串可被认为是有效字符串。

示例 1:

输入: “()”

输出: true

示例 2:

输入: “()[]{}”

输出: true

示例 3:

输入: “(]”

输出: false

示例 4:

输入: “([)]”

输出: false

示例 5:

输入: “{[]}”

输出: true

思路:受队列思想的启发,从左到右每次提取两个元素,若为一对括号,则一同出队。

代码:

class Solution:

    def __init__(self,s):

        self.s=s

        self.result=self.isValid(self.s)

    def isValid(self,s):

        if not len(s)%2==0:

            return False

        while(True):

            if not (s[0:2]=='()'or s[0:2]=='[]'or s[0:2]=='{}'):

                return False

            if len(s)==2:

                return True

  

            s=s[2:]

        

if __name__=='__main__':

    s=input("只包含括号的有效字符串:")

    solution=Solution(s)

    result=solution.result

    print(result)

结果:

只包含括号的有效字符串:{}

True

只包含括号的有效字符串:(][)

False

原文链接:https://www.qiquanji.com/post/8912.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

gzh

微信扫码关注

更新实时通知

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。