
栈与队列
荒野求思
人生就像写代码,总有bug出现
展开
-
第一题:设计一个有getMin功能的栈
题目要求: /** * 第一道题目:实现一个栈,在实现栈功能的基础上,在实现返回栈中最小的元素的操作 * 要求: * ①pop,push,getMin操作的时间复杂度都是O(1) * ②设计的栈类型可以使用现成的栈结构 代码实现 package com.isea.brush;import java.util.Stack;/** * 第一道题目:实现一个栈,在实现...原创 2019-01-07 18:07:05 · 255 阅读 · 0 评论 -
第二题:如何使用栈实现队列(使用两个栈实现队列)
题目要求:编写一个类,用两个栈实现队列,支持队列的基本操作(add,poll,peek) 代码实现与分析:package com.isea.brush;import java.util.Stack;/** * 编写一个类,用两个栈实现队列,支持队列的基本操作(add,poll,peek) * 实现思路:一个stackData栈用来入栈,一个stackHelp用来出栈,每一...原创 2019-01-07 18:42:47 · 257 阅读 · 0 评论 -
第四题:猫狗队列问题
题目要求:现有猫狗类如下:class Pet{ private String type; public Pet(String type){ this.type = type; } public String getType() { return type; }}class Dog extends Pet{...原创 2019-01-07 21:03:10 · 498 阅读 · 1 评论 -
第十七题:使用数组结构实现大小固定栈(Java)
题目要求:如标题代码实现:package com.isea.brush;/** * 使用数组结构实现固定长度的栈结构 * 实现思路:index位置表示的是如果要入栈,元素应该存放数据的位置 */public class ArrayStack { private Integer data[]; private int index; public...原创 2019-01-14 21:28:20 · 315 阅读 · 0 评论 -
第十八题:使用数组实现固定长度的队列(Java)
题目要求:如标题代码分析与实现: package com.isea.brush;/** * 使用数组实现长度队列结构 * start:队首,拿取一个数,要存放的位置 * end: 队尾,新加一个元素,应该放在哪个位置,只要end到了数组的长度-1,就回到开头 * size: 队列中的元素的个数 * 用来约束start和end,只要size没有到达数组的长度,就可以...原创 2019-01-14 22:51:56 · 744 阅读 · 0 评论 -
第十九题:如何使用队列实现栈结构(Java)
题目要求:如标题代码实现与分析:在图的深度优先遍历中,是需要使用栈结构来实现的,在面试中可能会被问到,如何仅用队列结构来实现图的深度优先遍历?package com.isea.brush;import java.util.LinkedList;import java.util.Queue;/** * 使用队列结构实现栈 * 实现思路: * 使用两个队列;dat...原创 2019-01-14 23:47:20 · 492 阅读 · 0 评论