python入門習題——20,有效的括號(簡單)
阿新 • • 發佈:2018-11-11
給定一個只包括 '('
,')'
,'{'
,'}'
,'['
,']'
的字串,判斷字串是否有效。
有效字串需滿足:
- 左括號必須用相同型別的右括號閉合。
- 左括號必須以正確的順序閉合。
注意空字串可被認為是有效字串。
示例 1:
輸入: "()" 輸出: true
示例 2:
輸入: "()[]{}" 輸出: true
示例 3:
輸入: "(]" 輸出: false
示例 4:
輸入: "([)]" 輸出: false
示例 5:
輸入: "{[]}" 輸出: true
class Solution(object): def isValid(self, s): """ :type s: str :rtype: bool """ #構造一個dict,用來判斷括號是否是成對的 to_dict = {')':'(', ']':'[', '}':'{'} #構造一個列表,用於堆疊處理 to_list = [None] #遍歷字串s for item in s: #表示式成立說明符號是成對出現的 if item in to_dict and to_dict[item] == to_list[-1]: #去除list最後一個元素,即已配對的元素 to_list.pop() else: to_list.append(item) return len(to_list) == 1