用两个栈实现一个队列算法思想:(1)stack1用来存储入队的元素,所以入队就是把进来的元素push到stack1;(2)对于出队列,一开始stack2是空的,所以我们把stack1中的元素全部pop到stack2中,这样stack2的栈顶就是队头,只要stack2不为空,那么每次出队,就相当于stack2的pop;(3..
分类:
其他好文 时间:
2015-11-11 06:38:08
阅读次数:
191
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。队列嘛,先进先出,栈嘛,先进后出。 于是乎,把第一个栈扔满,然后再一一放到另一个栈中,然后再一一取出来。 没了- -public class reconstructionQueue { Stack st...
分类:
其他好文 时间:
2015-11-04 17:34:43
阅读次数:
153
题意: 用迭代法输出一棵二叉树的后序遍历结果。思路: (1)用两个栈,一个存指针,一个存标记,表示该指针当前已经访问过哪些孩子了。 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int ...
分类:
其他好文 时间:
2015-11-02 22:39:45
阅读次数:
259
大众思路:用两个栈实现,记为s1,s21.元素入栈时,加入s12.元素出栈时,对s2进行判断,如果s2为空,则将全部s1元素弹出并压入到s2,然后从s2栈顶弹出一个元素;如果s2不为空,则直接从s2的栈顶弹出一个元素冷门思路:这种思路效率比较低1.元素入栈时,加入s12.元素出栈时,对s2进行判断,...
分类:
其他好文 时间:
2015-10-23 18:38:40
阅读次数:
151
队列的特别实现组合使用两个栈的后进先出可以实现队列的先进先出,简单高效,入队和出队的时间复杂度可以到 O(1)SQueue.h#ifndef _SQUEUE_H_#define _SQUEUE_H_typedef void SQueue;SQueue* SQueue_Create();void SQ...
分类:
其他好文 时间:
2015-10-11 16:43:58
阅读次数:
256
题目:如何用两个栈模拟实现一个队列? 如果这两个堆栈的容量分别是m和n(m>n),你的方法能保证的队列容量是多少?(这里讨论的是顺序栈,如果是链式栈的话完全没有必要考虑空间) 分析:栈的特点是“后进先出(LIFO)”,而队列的特点是“先进先出(FIFO)”。用两个栈模拟实现一个队列的基本思路是...
分类:
其他好文 时间:
2015-10-09 22:42:26
阅读次数:
392
用两个栈实现队列参与人数:3047时间限制:1秒空间限制:32768K通过比例:34.71%最佳记录:0 ms|0K(来自青哥)题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路1(最普通的方法): 1、入队时,直接压入到stack1中; ...
分类:
其他好文 时间:
2015-09-28 11:43:10
阅读次数:
138
【问题描述】 用两个栈使一个1...n的排列变得有序。一共有四个操作: A.stack1.push() 读入一个放入栈一 B.stack1.pop() 弹出栈一放入输出序列 C.stack2.push() 读入一个放入栈二 D.stack2.pop() 弹出栈二放入输出序列 ...
分类:
编程语言 时间:
2015-09-23 16:37:35
阅读次数:
314
题目描述用两个栈来实现一个队列,完成队列的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
下面是牛客网剑指Offer编程题的一些解题报告,目前还没刷完,会一篇篇加上来。
跳台阶
变态跳台阶
矩形覆盖
重建二叉树
替换空格
用两个栈代替队列
斐波那契数列
二进制中 1 的个数...
分类:
其他好文 时间:
2015-09-18 10:27:41
阅读次数:
182