码迷,mamicode.com
首页 >  
搜索关键字:用两个栈    ( 343个结果
包含min函数的栈
来源:牛客网、《剑指offer》 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。要求push pop min 操作的复杂度为O(1)。 考虑使用两个栈,一个数据栈,等同于普通的栈,实现push pop peek 等操作;另一个辅助栈实现min函数。 这题关键在于用辅助栈储存什 ...
分类:其他好文   时间:2016-07-22 06:25:50    阅读次数:138
自定义栈的实现及使用两个栈模拟队列
一,使用单链表实现栈 ①栈需要一个栈顶指针 ②栈的基本操作有出栈和入栈,以及判断栈是否为空 ③单链表中每个结点表示一个栈元素,每个结点有指向下一个结点的指针。因此,在栈内部需要实现一个单链表。代码如下: 二,使用两个栈实现队列 ①栈是先进后出,而队列是先进先出。要实现队列,就需要实现队列的基本操作, ...
分类:其他好文   时间:2016-07-02 20:13:59    阅读次数:201
《剑指offer》:[61]按之字形顺序打印二叉树
题目:请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三层再按照从左到右打印,其他行以此类推。 例如:按之字形顺序打印二叉树的结果如下图: 方案:利用两个栈。时间复杂度O(N)+辅助空间2*O(N)。 具体方法:我们在打印某一结点时,把下一层的子结点保存到相应的栈里。如果当前打印的是奇数层(例如第一层,第三层...第2*n+1层...
分类:其他好文   时间:2016-06-30 12:51:55    阅读次数:133
算法_计算输入的算术表达式的值.
例如:如果输入:( ( 1 + 2 ) * ( 3 + ( 4 * 5 ) ) )可以计算出输入的字符串所对应的算术表达式的值.我们支持运算符+,-,*,/,和一个一元运算abs,可以用一个简单的算法获取这个算术表达式的值: 我们用两个栈(一个用于保存操作符,一个用于保存操作数).表达式由括号,运算 ...
分类:编程语言   时间:2016-06-29 08:52:44    阅读次数:189
SpiralOrderTraverse,螺旋遍历二叉树,利用两个栈
问题描述:s型遍历二叉树,或者反s型遍历二叉树 算法分析:层序遍历二叉树只需要一个队列,因为每一层都是从左往右遍历,而s型遍历二叉树就要用两个栈了,因为每次方向相反。 ...
分类:其他好文   时间:2016-06-28 21:48:47    阅读次数:106
用两个栈实现队列
解题思路: 插入操作在stack1中进行,删除操作在stack2中进行,如果stack2为空,则将stack1中的所有元素转移到stack2中。 ...
分类:其他好文   时间:2016-06-23 23:58:38    阅读次数:213
用两个栈实现队列-剑指Offer
用两个栈实现队列 题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路 代码 ...
分类:其他好文   时间:2016-06-22 23:38:04    阅读次数:165
Dijkstra的双栈算术表达式的求值算法
例如需要计算 ( 1 + ( ( 2 + 3 ) * ( 4 * 5 ) ) ) 我们以字符串的形式输入该表达式,利用两个栈来完成这个操作,其中一个栈保存运算符,一个栈保存操作数,过程是这样的: 表达式由括号,运算符号,操作数(数字)组成,从左到右处理这四种情况. 将操作数压入操作数栈. 将运算符压 ...
分类:编程语言   时间:2016-06-16 20:10:32    阅读次数:309
用两个栈实现队列
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 ...
分类:其他好文   时间:2016-06-11 20:01:15    阅读次数:157
2016.6.1——Min Stack
Min Stack 本题收获: 1.可以利用两个栈操作。 2.栈的基本操作。 题目: Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. push(x) - ...
分类:其他好文   时间:2016-06-02 00:39:42    阅读次数:277
343条   上一页 1 ... 20 21 22 23 24 ... 35 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!