题目:原题链接(简单)
标签:栈、设计
解法  | 时间复杂度  | 空间复杂度  | 执行用时  | 
Ans 1 (Python)  | push = O ( 1 ) ) ; pop = O ( N ) ; top = O ( 1 ) ; getMin = O ( 1 )  | O ( N )  | 72ms (92.58%)  | 
Ans 2 (Python)  | |||
Ans 3 (Python)  | 
解法一:
class MinStack:
    def __init__(self):
        self.stack = []
        self.min_val = None
    def push(self, x: int) -> None:
        self.stack.append(x)
        if self.min_val is None or x < self.min_val:
            self.min_val = x
    def pop(self) -> None:
        ans = self.stack.pop()
        if ans == self.min_val:
            if self.stack:
                self.min_val = min(self.stack)
            else:
                self.min_val = None
    def top(self) -> int:
        return self.stack[-1]
    def min(self) -> int:
        return self.min_val









