20有效括号:
def isValid(self,s):
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]:
return False
stack.pop()
else:
stack.append(ch)
return not stack
232用栈实现队列:
def __init__(self):
self.stack1=[]
self.stack2=[]
def push(self, x):
"""
:type x: int
:rtype: None
"""
self.stack1.append(x)
def pop(self):
"""
:rtype: int
"""
if not self.stack2:
while self.stack1:
self.stack2.append(self.stack1.pop())
return self.stack2.pop()
def peek(self):
"""
:rtype: int
"""
if not self.stack2:
while self.stack1:
self.stack2.append(self.stack1.pop())
return self.stack2[-1]
def empty(self):
"""
:rtype: bool
"""
return not self.stack1 and not self.stack2