码迷,mamicode.com
首页 >  
搜索关键字:一个栈    ( 1020个结果
Binary Tree Inorder Traversal--leetcode
原题链接:https://oj.leetcode.com/problems/binary-tree-inorder-traversal/ 题目大意:中序遍历二叉树 解题思路:中序遍历二叉树,中序遍历二叉树的左子树,访问根结点,中序遍历二叉树的右子树。非递归实现时,用一个栈模拟遍历过程即可。因为需要先遍历左子树,所以每个结点先入栈,出栈时访问。 vector inorderTraversal(...
分类:其他好文   时间:2014-12-16 11:53:51    阅读次数:172
Binary Tree Postorder Traversal --leetcode
原题链接:https://oj.leetcode.com/problems/binary-tree-postorder-traversal/ 题目大意:后序遍历二叉树 解题思路:后序遍历二叉树的步骤:后序遍历二叉树的左子树,后序遍历二叉树的右子树,访问根结点。非递归实现时,用一个栈模拟遍历过程。由于访问完左子树后访问右子树,栈中元素要起到转向访问其右子树的作用,但是不能像先序和中序遍历那样出栈...
分类:其他好文   时间:2014-12-16 11:53:41    阅读次数:183
C++ 算法之 链表中倒数第k个节点
题目:输入一个链表,输出链表中倒数第k个节点,为了符合大多数人的习惯,本题从1开始计数,即链表的尾巴节点是倒数第一个节点。方法1:先遍历链表得到链表的个数n,倒数第k个节点就是n-k+1再遍历一次链表,找到第n-k+1个节点就是倒数第k个节点;这种方法遍历两次链表;方法2:先遍历链表把链表压入一个栈...
分类:编程语言   时间:2014-12-16 11:39:02    阅读次数:194
深入理解Java虚拟机笔记---运行时栈帧结构
栈帧(Stack Frame)是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区的虚拟机栈(Virtual Machine Stack)的栈元素。栈帧存储了方法的局部变量表,操作数栈,动态连接和方法返回地址等信息。第一个方法从调用开始到执行完成,就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。    每一个栈帧都包括了局部变量表,操作数栈,动态连接,方法返回地址和一些额外的...
分类:编程语言   时间:2014-12-14 13:18:31    阅读次数:227
《C++反编译与逆向分析技术揭秘》之学习笔记03--函数的调用方式
※函数的调用方式EBP:扩展基址指针寄存器(extended base pointer) 其内存放一个指针,该指针指向系统栈最上面一个栈帧的底部。ESP:(Extended stack pointer)是指针寄存器的一种,用于指向栈的栈顶。_cdecl:C/C++默认的调用方式,调用方平衡栈,不定参...
分类:编程语言   时间:2014-12-11 23:45:51    阅读次数:404
POJ1363 Rails【stack】【栈】
题目大意:如上图所示,已知火车要从A入站,然后从C出站。火车进站的 顺序为1~N,现在给你出站的顺序。问:能不能通过站台改变火车出站顺序 来实现按所给顺序出站。 思路:把站台看做是一个栈,按1~N的顺序遍历火车原先顺序,先入栈,如 果栈顶的火车编号和所给出站顺序将要出站的编号一样。那么火车就出栈, 直到栈里边所有满足出站顺序的火车都出站,否则就一直入栈。最后判断所 有火车是否都出站了。若都出站,输出Yes,否则输出No。...
分类:其他好文   时间:2014-12-09 19:39:05    阅读次数:212
C++算法之 两个队列实现一个栈
题目:用两个队列实现一个栈 算法思路: 现有两个队列q1与q2,入栈:如果q1与q2都为空,那么我们选择q1入栈也就是入队列,比如q1入栈 1 2 3 4 ;现在要出栈,后进先出那么4要出栈。但是q1是一个 队列,先进先出,那么 1 2 3出队列 q2 1 2 3 入队列,q1中此时剩余4,把4出对列达到出栈的效果。  这个时候如果我们又加入一个元素5,那么我们应该把5放到 q1还是q2,...
分类:编程语言   时间:2014-12-09 12:23:45    阅读次数:221
C++算法之 用两个栈实现一个队列
算法思路: 一个栈用来入队列,一个栈用来出队列: 现有两个栈s1 和s2;s1用来入栈,比如  队列进入  1 2 3 4 5 那么s1进栈 1 2 3 4 5 ,现在要出队列,意思就是要1先出来; 那么我们把栈s1的数据取出来都压到栈s2当中,那么栈s2就是 5 4 3 2 1 ;s2再出栈,此时1出栈就模拟出出队列的效果;   编写代码: // QueueFrom2Stack.cp...
分类:编程语言   时间:2014-12-08 19:40:39    阅读次数:215
careercup-栈与队列 3.5
3.5 实现一个MyQueue类,该类用两个栈来实现一个队列。解答队列是先进先出的数据结构(FIFO),栈是先进后出的数据结构(FILO), 用两个栈来实现队列的最简单方式是:进入队列则往第一个栈压栈, 出队列如果第二个栈不为空,则直接从第二个栈出队列,否则将第一个栈的数据依次压入第二个栈,然后出栈...
分类:其他好文   时间:2014-12-04 21:25:24    阅读次数:168
careercup-栈与队列 3.1
3.1 描述如何只用一个数组来实现三个栈。解答我们可以很容易地用一个数组来实现一个栈,压栈就往数组里插入值,栈顶指针加1; 出栈就直接将栈顶指针减1;取栈顶值就把栈顶指针指向的单元的值返回; 判断是否为空就直接看栈顶指针是否为-1。如果要在一个数组里实现3个栈,可以将该数组分为3个部分。如果我们并不...
分类:其他好文   时间:2014-12-04 11:51:01    阅读次数:153
1020条   上一页 1 ... 88 89 90 91 92 ... 102 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!