码迷,mamicode.com
首页 >  
搜索关键字:用两个栈    ( 343个结果
LeetCode 232:用栈实现队列 Implement Queue using Stacks
题目: 使用栈实现队列的下列操作: push(x) 将一个元素放入队列的尾部。 pop() 从队列首部移除元素。 peek() 返回队列首部的元素。 empty() 返回队列是否为空。 Implement the following operations of a queue using stack ...
分类:其他好文   时间:2019-08-10 12:24:46    阅读次数:110
<剑指offer> 第5题
题目: 用两个栈实现一个队列。队列声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入节点和在队列头部删除节点的功能。 思路: 栈1用于存储元素,栈2用于弹出元素,负负得正 代码实现: ...
分类:其他好文   时间:2019-08-09 01:47:44    阅读次数:104
[剑指offer]用两个栈实现队列
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路:栈1中存储元素的顺序为逆序,导入到栈2中元素顺序即为顺序。 1 class Solution 2 { 3 public: 4 void push(int node) { 5 while(!stack ...
分类:其他好文   时间:2019-08-04 01:13:47    阅读次数:98
用堆栈实现队列
【问题】用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。 【思路】我们使用两个栈来进行交换数据,一个为插入栈,另一个为弹出栈,对于插入栈来说,只进行插入数据,而弹出栈进行弹出,如果弹出栈为空了,那么我们就将插入栈中所有数据压入到弹出栈中,这样就可以有队列“先进先出” ...
分类:其他好文   时间:2019-08-03 21:48:49    阅读次数:109
【剑指Offer】05 - 用两个栈实现队列
重建二叉树 时间限制 : 空间限制 : 本题知识点 : `栈` 题目描述 : 思路分析: 操作情况依次经历下述变化: 1. 两栈都空 2. stack1不空 stack2空 3. stack1空 stack2不空 4. 两栈都不空 | 两栈都空 | stack1=[] | stack2=[] | 操 ...
分类:其他好文   时间:2019-08-03 00:45:40    阅读次数:103
剑指offer 36.时间空间效率的平衡 两个链表的第一个公共结点
题目描述 输入两个链表,找出它们的第一个公共结点。 解题思路 如果存在共同节点的话,那么从该节点,两个链表之后的元素都是相同的。 也就是说两个链表从尾部往前到某个点,节点都是一样的。 我们可以用两个栈分别来装这两条链表。一个一个比较出来的值。 找到第一个相同的节点。 代码如下 public clas ...
分类:其他好文   时间:2019-08-02 11:19:40    阅读次数:91
之字形打印二叉树
输出顺序: 1 3 2 4 5 6 7 15 14 13 12 12 10 9 8 使用两个栈作为辅助容器。打印某一层节点时,把下一层的子节点保存到栈内。如果当前打印的是奇数层,则先保存左子树节点再保存右子树节点到第一个栈内;如果当前打印的是偶数层,则先保存右子树在保存左子树节点到第二个栈内。 ...
分类:其他好文   时间:2019-07-29 14:55:14    阅读次数:135
题目七:用两个栈实现队列
////////////////////////////////////////////////////////////////////////////////////// 10.题目七:用两个栈实现队列// 题目:用两个栈实现一个队列,队列的声明如下:template class CQueue{p... ...
分类:其他好文   时间:2019-07-28 13:40:25    阅读次数:83
面试题9:用两个栈实现队列
这一题还是挺难的,有两个栈stackA、stackB,A是入栈的,B是出栈的,入栈时,直接进入A即可,出栈时,先判断是否有元素, 如果B没有元素,pop肯定报错,应该先将A中所有的元素压倒B里面,再pop最上面一个元素,如果B中有就直接pop出,就可以, 这是最优的思路,两个栈实现了先进后出,在一起 ...
分类:其他好文   时间:2019-07-20 00:18:15    阅读次数:107
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型
以下为借鉴 var stack1 = [], stack2=[]; function push(node){ stack1.push(node); } function pop(){ if(stack2.length){ return stack2.pop(); }else{ if(stack1.l ...
分类:其他好文   时间:2019-07-08 15:16:01    阅读次数:125
343条   上一页 1 ... 6 7 8 9 10 ... 35 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!