leetcode 20. 有效的括號 (python)


給定一個只包括 '(',')','{','}','[',']' 的字符串,判斷字符串是否有效。

有效字符串需滿足:

左括號必須用相同類型的右括號閉合。
左括號必須以正確的順序閉合。
注意空字符串可被認為是有效字符串。

示例 1:

輸入: "()"
輸出: true
示例 2:

輸入: "()[]{}"
輸出: true
示例 3:

輸入: "(]"
輸出: false
示例 4:

輸入: "([)]"
輸出: false
示例 5:

輸入: "{[]}"
輸出: true

class Solution:
    def isValid(self, s: str) -> bool:
        stack=[]                            #設置一個列表,把該列表當做棧來使用即可。
        dic={')':'(','}':'{',']':'['}       #使用字典存儲括號,並且右括號為key,左括號為value
        for char in s:
            if char in dic.values():        #左括號就入棧
                stack.append(char)
            elif char in dic.keys():        #有右括號的話就進行比較,
                if stack==[] or dic[char] != stack.pop():
                    return False
            else:
                return False                #不再字典中的輸入直接輸出錯誤

        return stack==[] 

參考:https://blog.csdn.net/gui951753/article/details/81985629 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM