//1.s型顺序访问二叉树,默认先左后右;利用两个栈来实现;若果先右后左的话,改变一下s1,s2插入的顺序就行 //2.注意s1 s2插入栈的顺序是不同的 void S_LevelOrderPrint(TreeNode t) { stack s1; stack s2; s1.push(t); whi... ...
分类:
编程语言 时间:
2017-09-27 14:52:45
阅读次数:
278
public List<List<Integer>> zigzagLevelOrder(TreeNode root) { List<List<Integer>> ans = new ArrayList<>(); if (root == null) return ans; // 使用两个栈维护顺序 S ...
分类:
其他好文 时间:
2017-09-17 17:27:51
阅读次数:
158
题目: 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路: 栈的特性:先进后出 队列的特:先进先出 将栈1的内容全都弹出,然后推入栈2,弹出栈2 达到先进先出的功能;所以分为push栈 和 pop 栈 代码: 拓展: 用两个队列实现一个栈: 思路: 两个队列 ...
分类:
其他好文 时间:
2017-09-13 09:52:35
阅读次数:
179
importjava.util.Stack;
/**
*用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。
*@authoruser
*
*思路:队列是先入先出,栈是先入后出,可以将数据压入第一个栈后,在弹出来压入第二个栈,弹得时候直接从第二个栈弹出,弹出后又将
*第二个栈中的所..
分类:
其他好文 时间:
2017-09-09 23:18:49
阅读次数:
184
来源:https://leetcode.com/problems/implement-queue-using-stacks Implement the following operations of a queue using stacks. push(x) -- Push element x to ...
分类:
其他好文 时间:
2017-09-09 17:15:45
阅读次数:
180
采用的是牛客网上的判题系统javascript(V8 6.0.0) 1.二维数组的查找 2.替换空格 3.从尾到头打印链表 4.重建二叉树 5.用两个栈实现队列 6.旋转数组的最小数字 7.斐波那契数列(循环方法) 8.跳台阶 9.变态跳台阶 10.矩形覆盖 11.二进制中1的个数 12.数值的整数 ...
分类:
编程语言 时间:
2017-09-06 18:19:36
阅读次数:
291
队列是一种典型的先进先出数据结构,队列的实现方式有很多种,比如数组,比如链表等,队列也可以用两个栈来实现,下面就用两个栈实现一个队列。 原理 两个栈中,一个栈用来入队,叫他入队栈,另一个栈用来出队,叫出队栈。 当入队时,我们直接把元素压入入队栈。 当出队时,分两种情况: ①若出队栈不为空,则直接出队 ...
分类:
编程语言 时间:
2017-08-29 14:38:46
阅读次数:
226
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 用两个栈实现一个队列的功能?要求给出算法和思路! <分析>: 入队:将元素进栈A 出队:判断栈B是否为空,如果为空,则 ...
分类:
其他好文 时间:
2017-08-18 13:39:29
阅读次数:
128
LeetCode上面的一道题目。原文例如以下: Implement the following operations of a queue using stacks. push(x) -- Push element x to the back of queue.pop() -- Removes th ...
分类:
其他好文 时间:
2017-08-18 11:10:19
阅读次数:
110
一 基本思路 二 图示 三 代码实现(Java) 四 优化 ...
分类:
其他好文 时间:
2017-08-13 17:37:32
阅读次数:
306