タイトル
のみ与えられた '('、 ')' の文字列を含む、 '{'、 '}'、 '['、 ']'、文字列が有効であるかどうかを決定します。
有効な文字列を満たしている必要があります。
左ブラケットは、同じタイプの閉じ括弧で閉じなければなりません。
左括弧が正しい順序で閉じなければなりません。
空の文字列が有効な文字列と考えることができます。例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)
- ポップ()関数は、リスト内の要素(最後の要素へのデフォルト)の値を除去するために用いられ、その要素を返します。