classMinStack(object):def__init__(self):""" initialize your data structure here. """self.nums=[]self.minv=[]defpush(self,x):""" :type x: int :rtype: void """self.nums.append(x)iflen(self.nums)==1:self.minv.append(x)else:newmin=min(self.minv[-1],x)self.minv.append(newmin)defpop(self):""" :rtype: void """iflen(self.nums)>0:delself.nums[-1]delself.minv[-1]else:passdeftop(self):""" :rtype: int """iflen(self.nums)>0:returnself.nums[-1]else:passdefgetMin(self):""" :rtype: int """iflen(self.nums)>0:returnself.minv[-1]else:passif__name__=='__main__':obj=MinStack()obj.push(2)obj.push(0)obj.push(3)obj.push(0)obj.getMin()obj.pop()obj.getMin()obj.pop()obj.getMin()obj.pop()obj.getMin()
近期评论