タイトルLeetCodeブラシスタックstack--有効ブラケット

タイトル 

のみ与えられた '('、 ')' の文字列を含む、 '{'、 '}'、 '['、 ']'、文字列が有効であるかどうかを決定します。

有効な文字列を満たしている必要があります。

左ブラケットは、同じタイプの閉じ括弧で閉じなければなりません。
左括弧が正しい順序で閉じなければなりません。
空の文字列が有効な文字列と考えることができます。

例1:

入力: "()"
出力:真の
例2:

入力: "()[] {}"
出力:真
例3:

入力: "(]"
出力:偽
例4:

入力: "([)]"
出力:偽
例5:

入力: "{[]}"
出力:真

 コード:

class Solution:
    def isValid(self, s):
        # 字典dic保存有效括号对,key:value
        dic = {'{': '}',  '[': ']', '(': ')', '?': '?'}
        stack = ['?']
        for c in s:
            if c in dic:
                stack.append(c)
            elif dic[stack.pop()] != c:
                return False
        return len(stack) == 1

a = Solution()
s = a.isValid("{[([])]}")
print(s)
  •  ポップ()関数は、リスト内の要素(最後の要素へのデフォルト)の値を除去するために用いられ、その要素を返します。

 

公開された83元の記事 ウォン称賛14 ビュー30000 +

おすすめ

転載: blog.csdn.net/weixin_38121168/article/details/103221428