天天看點

第20 題 有效括号 python

思路:

字典儲存對應括号

周遊字元串:

左括号入棧

右括号分三種情況:

1.若此時棧為空,直接傳回False

2.若此時右括号和棧頂左括号不比對,直接傳回False

3.若此時右括号和棧頂左括号比對,棧頂左括号出棧

周遊結束後

若棧為空棧,說明所有括号都比對完成,傳回True

否則,傳回False

class Solution:
    def isValid(self, s: str) -> bool:
        dic = {'(':')','[':']','{':'}'}
        stack = []
        for i in s:
            if i in dic:
                stack.append(i)
            else:
                if len(stack) == 0:
                    return False
                elif i == dic[stack.pop()]:
                    pass
                else:
                    return False
        return len(stack) == 0
           
第20 題 有效括号 python