原题链接:https://oj.leetcode.com/problems/binary-tree-inorder-traversal/
题目大意:中序遍历二叉树
解题思路:中序遍历二叉树,中序遍历二叉树的左子树,访问根结点,中序遍历二叉树的右子树。非递归实现时,用一个栈模拟遍历过程即可。因为需要先遍历左子树,所以每个结点先入栈,出栈时访问。
vector inorderTraversal(...
分类:
其他好文 时间:
2014-12-16 11:53:51
阅读次数:
172
什么是栈,什么是队列。栈(Stack)是只能在某一端插入和删除的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。队列(Queue)一种特殊的线性表,它只允许在表的前端(f..
分类:
其他好文 时间:
2014-12-16 06:37:17
阅读次数:
150
栈帧(Stack Frame)是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区的虚拟机栈(Virtual Machine Stack)的栈元素。栈帧存储了方法的局部变量表,操作数栈,动态连接和方法返回地址等信息。第一个方法从调用开始到执行完成,就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。
每一个栈帧都包括了局部变量表,操作数栈,动态连接,方法返回地址和一些额外的...
分类:
编程语言 时间:
2014-12-14 13:18:31
阅读次数:
227
题目大意:给你一个计算表达式,求出最终结果。
思路:用两个栈来分别存数和操作符, 遇到'(',操作符入栈,遇到')',计算括号内的
式子。遇到'+'、'-'、'*'、'/'就比较当前运算符与栈中运算符的优先级,大于等于于栈
中优先级就计算,否则就入栈,留待下次计算。最后计算栈中剩下优先级低的相应式子...
分类:
其他好文 时间:
2014-12-13 12:15:49
阅读次数:
203
题目大意:如上图所示,已知火车要从A入站,然后从C出站。火车进站的
顺序为1~N,现在给你出站的顺序。问:能不能通过站台改变火车出站顺序
来实现按所给顺序出站。
思路:把站台看做是一个栈,按1~N的顺序遍历火车原先顺序,先入栈,如
果栈顶的火车编号和所给出站顺序将要出站的编号一样。那么火车就出栈,
直到栈里边所有满足出站顺序的火车都出站,否则就一直入栈。最后判断所
有火车是否都出站了。若都出站,输出Yes,否则输出No。...
分类:
其他好文 时间:
2014-12-09 19:39:05
阅读次数:
212
题目:用两个队列实现一个栈
算法思路:
现有两个队列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
可变参数是指某一个函数被调用的时候,并不知道具体传递进来的参数类型和参数的数目,例如大家熟知的函数printf()。C语言是通过软件堆栈的方式进行参数传递的,对于下面的函数,从左到右依次压入栈中的变量为:a、b、c,如果存在更多的参数,只要在函数真正被调用前按照同样的顺序依次压入栈中就可以完成任.....
分类:
其他好文 时间:
2014-12-09 00:31:00
阅读次数:
194
算法思路:
一个栈用来入队列,一个栈用来出队列:
现有两个栈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
题目1366:栈的压入、弹出序列
时间限制:1 秒内存限制:32 兆特殊判题:否提交:2143解决:816
题目描述:
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。
输入:
每个测...
分类:
其他好文 时间:
2014-12-08 12:23:40
阅读次数:
190
考题: 栈底至栈顶一次存放元素 ABCD 在第五个元素E入栈之前 栈中元素可以出栈,则出栈序列可能是_____a d___________. a. ABCED b. DBCEA c. CDABE d. DCBEA分析:1.假定进栈序列是从小到大排练的(即A<B<C<D<E),则出栈序列中不可能有.....
分类:
编程语言 时间:
2014-12-06 21:30:45
阅读次数:
233