JZ20 包含min函数的栈
my version
错误记录
- 栈为空的特殊判断
class Solution:
def __init__(self):
self.stack = []
self.min_stack = []
def push(self, node):
self.stack.append(node)
if self.min_stack:
self.min_stack.append(node) if self.min_stack[-1] > node else self.min_stack.append(self.min_stack[-1])
else:
self.min_stack.append(node)
def pop(self):
if self.stack:
self.min_stack.pop()
return self.stack.pop()
def top(self):
return self.stack[-1]
def min(self):
return self.min_stack[-1]
举例子的时候多往后考虑集中情况,如这道题可能会只考虑增加一个变量存最小值,但当当前值为最小值,且将当前值弹出时,将失去最小值的记录