LeetCode 20. 有效的括號 Python
阿新 • • 發佈:2019-02-02
給定一個只包括 '('
,')'
,'{'
,'}'
,'['
,']'
的字串,判斷字串是否有效。
有效字串需滿足:
- 左括號必須用相同型別的右括號閉合。
- 左括號必須以正確的順序閉合。
注意空字串可被認為是有效字串。
示例 1:
輸入: "()" 輸出: true
示例 2:
輸入: "()[]{}" 輸出: true
示例 3:
輸入: "(]" 輸出: false
示例 4:
輸入: "([)]" 輸出: false
示例 5:
輸入: "{[]}" 輸出: true
import collections class Solution: def isValid(self, s): dict1 = {"[":"]", "{":"}", "(":")"} stack = [] for item in s: if not stack: #如果這個時候列表為空 if item in dict1: stack.append(item) else: return False#如果此時括號是右括號,返回錯誤 #如果列表非空 else: if item in dict1: stack.append(item) #如果是左括號,就加入stack else:#如果是右括號 temp = stack.pop()#把stack末尾的拿出來 if dict1[temp] != item: return False#如果這個東西和item不對應,就錯了,對應就繼續 if stack != []: return False return True