题目链接:https://leetcode-cn.com/problems/bao-han-minhan-shu-de-zhan-lcof/
难度:简单
描述:
定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。
题解
class MinStack:def __init__(self):"""initialize your data structure here."""self.stk = []self.min_stk = []def push(self, x: int) -> None:self.stk.append(x)if self.min_stk == []:self.min_stk.append(x)else:if x < self.min_stk[-1]:self.min_stk.append(x)else:self.min_stk.append(self.min_stk[-1])def pop(self) -> None:self.stk.pop()self.min_stk.pop()def top(self) -> int:return self.stk[-1]def min(self) -> int:return self.min_stk[-1]
