![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Aklemon
这个作者很懒,什么都没留下…
展开
-
栈和队列面试题之--实现一个有getMin功能的栈
题目:实现一个特殊的栈,在实现栈基本功能的恶基础上,再实现返回栈中的最小元素操作 要求:pop push getMin操作的时间复杂度都是O(1)看到题目可以想到大体分为两种思路,一是通过一个栈来实现;二则是通过两个栈来实现我先实现用一个栈的 用一个栈的话就要一次压入两个值,data值,和记录的最小值Min, 方法是:向一个stack中压入数据data,第一次由于栈是空的,所以原创 2016-07-20 09:44:27 · 898 阅读 · 0 评论 -
使用两个栈实现一个队列
栈是后进先出,而队列是先进先出,所以可以采用如下方法 在s1中压入数据之后再将s1中数据挨个弹出压入s2中,此时s2栈中数据的出栈顺序即为队列的头出的顺序 代码如下class Solution{public: void Push(int data) { stack1.push(data); } void Pop() {原创 2016-07-20 10:44:25 · 493 阅读 · 0 评论