算法:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。《剑指offer》 利用栈来进行操作,代码注释写的比较清楚:首先判断两个栈是否是空的:其次当栈二 为空,将栈1中取出来放到栈二,最终返回栈二首部值; 主要利用了pop()方法和push方法: ...
分类:
编程语言 时间:
2018-08-12 12:00:07
阅读次数:
402
题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 分析:入栈时只入栈1,出栈为栈2;若栈2不为空,直接出栈;否则,将栈1中的值依次入栈2,之后栈2出栈 ...
分类:
其他好文 时间:
2018-08-05 16:53:12
阅读次数:
159
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路: 栈是先进后出的结构,而队列是先进先出的结构,题目中给出俩个栈,一个栈只能完成特定的操作,如何才能利用俩个栈让元素能够先进去先出来? 一个栈元素是后出,那么叠加式把一个栈放入另一个栈中,该元素的出入 ...
分类:
其他好文 时间:
2018-08-04 21:40:56
阅读次数:
153
前缀表达式(波兰表达式)、中缀表达式、后缀表达式(逆波兰表达式) 介绍 三种表达式都是四则运算的表达方式,用以四则运算表达式求值,即数学表达式的求解。 前缀表达式 前缀表达式是一种没有括号的算术表达式,与中缀表达式不同的是,其将运算符写在前面,操作数写在后面。为纪念其发明者波兰数学家Jan Luka ...
分类:
其他好文 时间:
2018-08-03 14:11:27
阅读次数:
216
实现思想:对于A,B两个栈,A作为压栈,B作为弹出栈。push操作时,将结果压入A栈,并且判断B栈是否为空,如果为空,则将A栈的元素全部移动到B栈pop操作时,判断A,B栈是否为空,如果同时为空,则跑抛出异常,如果不同时为空,判断B栈是否有元素。如果没有元素,则将A栈中元素全部移动到B栈中,进行弹出 ...
分类:
其他好文 时间:
2018-07-29 00:08:06
阅读次数:
136
题意 给了两个栈去实现队列 分析 两个栈如下情况 1 2 4 3 这个时候就不能够把4插入到第二个弹出栈了否则弹出顺序出错。 所以这个时候就应该等第二个栈空了的时候再弹出。 代码 import java.util.Stack; public class Solution { Stack<Intege ...
分类:
其他好文 时间:
2018-07-27 13:16:57
阅读次数:
133
#include #include using namespace std; template void pushQueue(stack &stack1, T t){ stack1.push(t); } template T popQueue(stack &stack1, stack &stack2... ...
分类:
其他好文 时间:
2018-07-23 22:03:59
阅读次数:
151
题目 输入两个链表,找出它们的第一个公共结点。 思路一 因为是反向找,所以会想到用栈。将两个链表都压入两个栈,然后反向弹出,找出第一个公共节点。思路很简单 思路二 链表这种问题往往可以用快慢指针,先统计出两个链表的长度l1,l2 然后让长一点的链表从头节点先走 |l1-l2|,然后两个指针一起走,第 ...
分类:
其他好文 时间:
2018-07-22 00:29:10
阅读次数:
123
剑指Offer学习 剑指Offer这本书已经学习完了,从中也学习到了不少的东西,现在做一个总的目录,供自已和大家一起参考,学如逆水行舟,不进则退。只有不断地学习才能跟上时候,跟得上技术的潮流! 所有代码下载【https://github.com/Wang-Jun-Chao/coding-interv ...
分类:
其他好文 时间:
2018-07-13 21:29:46
阅读次数:
198