20. 有效的括号

20. 有效的括号

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

有效字符串需满足:

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

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

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

示例 1:

输入:"()"输出:true

示例 2:

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

示例 3:

输入:"(]"输出:false

示例 4:

输入:"([)]"输出:false

示例 5:

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

class Solution:

    dic_left =['(','{','[']

    dict_right = [')','}',']']

    def isValid(self, s):

        """

        :type s: str

        :rtype: bool

        """

        length = len(s)

        dict_content = []

        if length%2!=0:

            return False

        i=0

        while i< length:

            if s[i] in self.dic_left:

                dict_content.append(s[i])

            else:

                if i==0:

                    return False

                elif self.dic_left.index(dict_content[dict_content.__len__()-1])== self.dict_right.index(s[i]):

                    dict_content.pop(dict_content.__len__()-1)

                else:

                    return False

            i+=1

        if dict_content.__len__()>0:

            return False

        return True


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 思路: 一个符号数组,["{", "[", "(", "}", "]", ")"]一个栈。 如果遇到左边的符号 0...
    34码的小孩子阅读 445评论 0 0
  • 问题描述 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 括号必须...
    Dy1an阅读 260评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,948评论 18 139
  • 我身处异地,身边有群吵闹的同学。我却选择孤单……这不是属于我的地方。又怎能放下我的心。
    天水秋阅读 249评论 2 1
  • 剪缕清风生笔下 摘轮明月挂窗前 此作品已結缘四川理工學院的馬同学,也是我的一位好弟弟,马同学已經收藏莫之姐姐的好多...
    江南莫之阅读 1,912评论 10 26