包含min函数的栈

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]

你可能感兴趣的:(包含min函数的栈)