手记

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




作者:不爱去冒险的少年y
链接:https://www.jianshu.com/p/5fae3744ecf3


0人推荐
随时随地看视频
慕课网APP