image.png
同时再建一个栈,这个栈保存了以当目前为栈顶时的,最小值
所以每次返回最小值时,返回这个栈的栈顶即可。
# -*- coding:utf-8 -*-
class Solution:
def __init__(self):
self.minVal = 100000
self.st = []
self.comPare = []
def push(self, node):
# write code here
self.st.append(node)
if node <= self.minVal:
self.comPare.append(node)
self.minVal = node
else:
self.comPare.append(self.minVal)
def pop(self):
# write code here
del self.st[-1]
del self.comPare[-1]
def top(self):
# write code here
return self.st[-1]
def min(self):
# write code here
return self.comPare[-1]