class MinStack:
def __init__(self):
"""
initialize your data structure here.
"""
self.stack=[]
def push(self, x: int) -> None:
if(not self.stack):
self.stack.append((x,x))
else :
self.stack.append((x,min(x,self.stack[-1][1])))
def pop(self) -> None:
if(self.stack):
return self.stack.pop()
else:
return None
def top(self) -> int:
if(self.stack):
return self.stack[-1][0]
else:
return None
def getMin(self) -> int:
if(self.stack):
return self.stack[-1][1]
else:
return None
# Your MinStack object will be instantiated and called as such:
# obj = MinStack()
# obj.push(x)
# obj.pop()
# param_3 = obj.top()
# param_4 = obj.getMin()
使用辅助的数据结构,压入元组(x,min(minNum,x)),第二个安置当前最小的数字