包含min函数的栈
问题简述
实现栈的 pop 和 push 方法,同时实现一个 min 方法,返回栈中的最小值,min、push 及 pop 的时间复杂度都是 O(1)。
思路
使用两个 list: Buf 和 Min;其中 Buf 正常模拟栈,Min 也是一个栈,但是它只会将小于等于栈顶的元素入栈;
当 Buf 的出栈元素等于 Min 的栈顶元素时,Min 也出栈;
Python 中 list 自带的
append
和pop
方法默认行为就是栈的push
和pop
,top
方法返回Buf[-1]
即可;
Last updated