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