
栈和队列
文章平均质量分 56
有梦就不怕痛
这个作者很懒,什么都没留下…
展开
-
顺序栈 详解
在学习栈和队列之前你需要对他们已经有了,一定的了解比如 stack先进后出 queue 先进先出1、下面我们学习顺序栈(其实和顺序链表一个原理) 对于这里的SElemType 就是一种数据的类型 ,它可以int 型,这里我想说一下它可以是结构体,所以base 就是一个指向结构体的指针,我们可以通过base进行对结构体中的数据访问和修改,如果还是不懂那就看我关于链表的介绍,那原创 2016-09-19 19:57:43 · 1366 阅读 · 0 评论 -
1020 Tree Traversals java
Suppose that all the keys in a binary tree are distinct positive integers. Given the postorder and inorder traversal sequences, you are supposed to output the level order traversal sequence of the cor...原创 2019-05-29 15:14:12 · 268 阅读 · 0 评论 -
1051 Pop Sequence java
Given a stack which can keepMnumbers at most. PushNnumbers in the order of 1, 2, 3, ...,Nand pop randomly. You are supposed to tell if a given sequence of numbers is a possible pop sequence of t...原创 2019-05-29 10:46:19 · 343 阅读 · 0 评论 -
数据流中的中位数 java
如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。import java.util.ArrayList;import java.util.PriorityQue...原创 2019-05-28 21:34:59 · 511 阅读 · 0 评论 -
按之字形顺序打印二叉树 java
请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;import java.util.Stack;/*public class Tre...原创 2019-05-28 20:35:54 · 309 阅读 · 0 评论 -
把二叉树打印成多行 java
从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode...原创 2019-05-28 14:58:03 · 224 阅读 · 0 评论 -
evaluate-reverse-polish-notation
题目描述Evaluate the value of an arithmetic expression in Reverse Polish Notation.Valid operators are+,-,*,/. Each operand may be an integer or another expression.Some examples: ["2", "1", "+", "3", "*"]...原创 2018-04-24 16:10:12 · 187 阅读 · 0 评论 -
中缀到后缀的转换
原理:1.从左到右的读取中缀式。 2. 准备一个符号栈,从栈底到栈顶优先级是从小到大。当压入的操作符小于栈顶的操作符就出栈,知道碰到栈顶的操作符小于当前压入栈的操作符或者到达栈底,进行入栈操作。当压入的操作符优先级大于栈顶操作符的优先级,那就直接入栈就行了。时刻要记得创建的这个符号栈优先级是从小到大(从栈顶到栈顶) 3. 左括号的优先级是最高的,如果栈顶的操作符...原创 2018-03-27 20:51:06 · 551 阅读 · 0 评论 -
滑动窗口的最大值
题目描述给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,...原创 2018-03-21 20:59:52 · 234 阅读 · 0 评论 -
用两个栈实现队列
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。import java.util.Stack;public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack...原创 2018-03-20 16:39:18 · 176 阅读 · 0 评论 -
51nod-【1289 大鱼吃小鱼】
1289 大鱼吃小鱼题目来源: Codility基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 收藏 关注有N条鱼每条鱼的位置及大小均不同,他们沿着X轴游动,有的向左,有的向右。游动的速度是一样的,两条鱼相遇大鱼会吃掉小鱼。从左到右给出每条鱼的大小和游动的方向(0表示向左,1表示向右)。问足够长的原创 2016-10-27 22:19:02 · 692 阅读 · 0 评论 -
1086 Tree Traversals Again java
An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example, suppose that when a 6-node binary tree (with the keys numbered from 1 to 6) is traversed, the stac...原创 2019-05-29 15:48:32 · 212 阅读 · 0 评论