力扣:有效的括号
#方法:栈:遇见与之对应的括号,则pop出栈。哈希表:将括号用哈希表键值对存储
#Python List pop()方法:该方法返回从列表中移除的元素对象。
class Solution:
def isValid(self, s: str) -> bool:
if len(s) % 2 == 1: #取余,当括号不为偶数时,证明有一个没有与之对应的括号
return False
pairs = {
")": "(",
"]": "[",
"}": "{",
} #定义一个哈希表,键值对
stack = list() #栈
for ch in s:
if ch in pairs:
if not stack or stack[-1] != pairs[ch]: #not stack指栈为空
return False
stack.pop() #否则有符号与之对应,出栈==移除元素对象
else:
stack.append(ch) #入栈
return not stack