![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
栈
文章平均质量分 66
Sunny君
这个作者很懒,什么都没留下…
展开
-
包含min函数的栈
题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中,调用min、push以及pop的时间复杂度都是o(1)。 分析:看到这个问题,我们第一反应是每次压入一个新元素进栈时,让栈中所有的元素排序,让最下的元素位于栈顶,这样就可以在O(1)时间得到最小元素。但是这种思路不能保证最后压入栈的元素最先出栈,因此这个数据结构已经不是栈了。 可以在栈内添加一个成员变量存放原创 2018-01-08 17:08:33 · 87 阅读 · 0 评论 -
栈的压入、弹出序列
题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字都不相等。例如1、2、3、4、5是该栈的压栈序列,序列4、5、3、2、1是该栈序列对应的一个弹出序列,但4、3、5、1、2就不可能是该压栈序列的弹出序列。 分析:解决这个问题我们可以建立一个辅助栈,把输入的第一个序列中的数字依次压入该辅助栈,并按照第二个序列的顺序依次从该栈中弹出数字。原创 2018-01-08 20:57:12 · 122 阅读 · 0 评论