用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 ...
分类:
其他好文 时间:
2018-09-06 23:01:48
阅读次数:
180
题目描述: 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 解题代码: 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 解题代码: ...
分类:
其他好文 时间:
2018-09-04 22:33:55
阅读次数:
216
【题目】 实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。? 【要求】? 1.pop、push、getM?in()操作的时间复杂度都是O(1)。 2.设计的栈类型可以使用现成的栈结构。? 【解答】? 在设计上我们使用两个栈,一个栈用来保存当前栈中的元素,其功能和一个正常的 ...
分类:
其他好文 时间:
2018-09-02 18:49:08
阅读次数:
148
【题目】 编写一个类,用两个栈实现队列,支持队列的基本操作(add、poll、peek)。 【解答】? 栈的特点是先进后出,而队列的特点是先进先出。我们用两个栈正好能把顺序反过来实现类似队列的操作。 具体实现上,是把一个栈作为压入栈,在压入数据时只往这个栈中压入,记为stackPush;另一个栈只作 ...
分类:
其他好文 时间:
2018-09-02 18:42:27
阅读次数:
153
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路 首先要明确栈和队列的特性,栈是后入先出的数据类型,队列是先进先出的数据类型,那么就可以用两个栈,一个存储新的push进队列的数据,另一个栈用来pop出队头的数据,push很简单,直接利用栈的特性ap ...
分类:
其他好文 时间:
2018-08-30 02:03:42
阅读次数:
136
必须做到以下两点:1.如果stackPush要往stackPop中压数据,那么必须一次性把stackPush中的数据全部压入。2.如果stackPop不为空,stackPush绝对不能向stackPop中压入数据。 ...
分类:
编程语言 时间:
2018-08-26 12:02:58
阅读次数:
133
方法一:利用两个栈,每次push都利用另一个栈倒一遍。其中push O(n) 方法二:同样是利用两个栈,但是不同于上一种方法每次push都要倒一次。两个栈记作in和out,out顺序与queue一致。每次push都放到in中,需要pop的时候才把in倒到out中执行。相当于in作为一个缓存,out没 ...
分类:
其他好文 时间:
2018-08-22 22:54:09
阅读次数:
300
```C++ class Solution { public: void push(int node) { stack1.push(node); } int pop() { if(stack1.empty() && stack2.empty()){ return -1; } if(!s... ...
分类:
其他好文 时间:
2018-08-21 21:04:28
阅读次数:
141
链表 反转链表 链表倒数第k个 最小公共节点 树 红黑 树 二叉树 深度优先, 广度优先 先序,中序,后序遍历 树, 森林,二叉树互转 递归 转循环 队列 两个栈模拟一个队列 排序 简单排序, 归并排序 ,快排, 桶排 冒泡排序(bubble sort) 鸡尾酒排序(Cocktail sort,双向 ...
分类:
编程语言 时间:
2018-08-17 14:57:06
阅读次数:
150
题目描述: 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 程序代码: 【方法一】 1 class Solution 2 { 3 public: 4 5 void push(int node) { 6 stack1.push(node); 7 8 9 } 10 ...
分类:
其他好文 时间:
2018-08-17 00:39:25
阅读次数:
134