力ボタンブラシ問題の道20.有効なかっこPython解


‘(’,’)’,’{’,’}’,’[’,’]’のみを含む文字列sを与え,文字列が有効であるか否かを判断する.
有効な文字列は次のとおりです.
左かっこは同じタイプの右かっこで閉じる必要があります.左かっこは正しい順序で閉じなければなりません.
例1:
入力:s=「()」出力:true例2:
入力:s=「()[]{}」出力:true例3:
入力:s=「(」出力:false例4:
入力:s=「([)]出力:false例5:
入力:s="{[]}"出力:true
ヒント:
1<=s.length<=104 sは括弧'()[]{}'のみからなる
ソース:力ボタン(LeetCode)リンク:https://leetcode-cn.com/problems/valid-parentheses
解:
def isValid(self, s: str) -> bool:
        if len(s) % 2 == 1:
            return False
        d = {
     
            '(': ')',
            '{': '}',
            '[': ']',
            None: None
        }
        l = [None]
        for i in s:
            if i in d:
                l.append(i)
            elif d[l.pop()] == i:
                pass
            else:
                return False
        # l.remove(None)
        return not l[1:]