题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。队列的性质即先进先出。如图,push操作时将元素放入stack1中,pop操作时先将元素取出,压入stack2中然后从stack2将栈顶元素推出即可实现。其中当stack2不为空时,先不进行取出stack1存入stac..
分类:
其他好文 时间:
2015-12-20 02:07:38
阅读次数:
169
【题目描述】用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。【解题思路】思路其实很简单,如下所示:1、所谓的“一次性倒完”可以通过一直往Stackpop中push元素,直到StackPush栈大小为空时为止来实现。2、如果StackPop中有数据,则直接弹出栈顶元...
分类:
其他好文 时间:
2015-12-06 17:42:13
阅读次数:
134
两个栈实现队列和两个队列实现栈 队列(queue)先进先出的线性表;栈(stack)先进后出的线性表。两个栈实现队列法一思路: s1是入栈的,s2是出栈的。入队列:直接压入s1即可;出队列:如果s2不为空,把s2中的栈顶元素直接弹出;否则,把s1的所有元素全部弹出压入s2中,再弹出s2的栈顶元素.....
分类:
其他好文 时间:
2015-12-02 12:34:15
阅读次数:
202
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。队列嘛,先进先出,栈嘛,先进后出。 于是乎,把第一个栈扔满,然后再一一放到另一个栈中,然后再一一取出来。 没了- -public class reconstructionQueue { Stack st...
分类:
其他好文 时间:
2015-11-04 17:34:43
阅读次数:
153
用两个栈实现队列参与人数:3047时间限制:1秒空间限制:32768K通过比例:34.71%最佳记录:0 ms|0K(来自青哥)题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路1(最普通的方法): 1、入队时,直接压入到stack1中; ...
分类:
其他好文 时间:
2015-09-28 11:43:10
阅读次数:
138
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 1 class Solution 2 { 3 public: 4 void push(int node) { 5 stack1.push(node); 6 } 7 8 ...
分类:
其他好文 时间:
2015-09-20 00:09:37
阅读次数:
146
问题描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。算法分析:push:
1.将数据压入stack1;pop:
1.将stack1中所有数据弹出到stack2;
2.将stack2中第一个数弹出设置为返回值;
3.将stack2中所有数据弹出到stack1;
4.将返回值返回代码实现class Solution
{
public:
void...
分类:
其他好文 时间:
2015-09-17 01:13:24
阅读次数:
212
#include
#include
using namespace std;template
class QUEUE
{
public:
QUEUE(){}
~QUEUE(){}
void APPEND(const T val)
{
while(st2.empty()==false)...
分类:
其他好文 时间:
2015-09-01 01:45:14
阅读次数:
173
用两个栈实现队列 题目描述:
??用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
解题思路:
??利用一个栈来作为暂时存储的栈,类似于汉诺塔问题,可以根据下图思考一下,
我的Java源代码: import java.util.Stack;
public class Solution {
Stack stack1 = new...
分类:
其他好文 时间:
2015-08-29 00:52:17
阅读次数:
135
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。好像第二种更好一点,毕竟push操作的频率高于pop。 1 class Solution 2 { 3 public: 4 void push(int node) { 5 if(stack1.e...
分类:
其他好文 时间:
2015-08-25 18:25:57
阅读次数:
115