堆栈相关面试题(详解)

1. 实现一个栈,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操做)时间复杂度为O(1)。 分析:设计两个栈,一个栈用来push 、pop操做,另外一个栈用来保存当前最小值Min。当push元素小于等于Min栈顶元素时,将其压入Min栈顶,当pop元素等于Min栈顶元素时,两个栈均要pop出栈顶元素。下图为各类状况的优缺点分析。node class StackWithMin {
相关文章
相关标签/搜索