- 博客(2)
- 收藏
- 关注
原创 使用两个栈实现一个队列
栈是后进先出,而队列是先进先出,所以可以采用如下方法 在s1中压入数据之后再将s1中数据挨个弹出压入s2中,此时s2栈中数据的出栈顺序即为队列的头出的顺序 代码如下class Solution{public: void Push(int data) { stack1.push(data); } void Pop() {
2016-07-20 10:44:25 494
原创 栈和队列面试题之--实现一个有getMin功能的栈
题目:实现一个特殊的栈,在实现栈基本功能的恶基础上,再实现返回栈中的最小元素操作 要求:pop push getMin操作的时间复杂度都是O(1)看到题目可以想到大体分为两种思路,一是通过一个栈来实现;二则是通过两个栈来实现我先实现用一个栈的 用一个栈的话就要一次压入两个值,data值,和记录的最小值Min, 方法是:向一个stack中压入数据data,第一次由于栈是空的,所以
2016-07-20 09:44:27 902
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人