【力扣Hot100】155. 最小栈
题目:最小栈
题目要求写一个MinStack
的数据结构,实现push
,pop
,top
,getMin
等方法;
思路分析:
- 成员变量:定义两个队列
stackA
和stackB
- 构造方法:给两个队列创建对象
push
: 添加元素e
的时候,stackA
正常添加,stackB
需要比较一下,如果e
小于等于栈顶元素的话,就添加,否则,过!!pop
: 弹出的时候stackA
正常弹出栈顶元素e
,如果stackB
的栈顶元素和e
相同,那么stackB
也要弹出栈顶元素;top
: 直接读取stackA
的栈顶元素;getMin
: 直接读取stackB
的栈顶元素;
class MinStack {//成员变量private LinkedList<Integer> stackA;private LinkedList<Integer> stackB;//构造方法public MinStack() {stackA = new LinkedList<>();stackB = new LinkedList<>();} //成员方法public void push(int x) {stackA.push(x);if(stackB.isEmpty() || x <= stackB.peek()){stackB.push(x);}} public void pop() {int e = stackA.pop();if(!stackB.isEmpty() && e == stackB.peek()){stackB.pop();}} public int top() {return stackA.peek();}public int getMin() {return stackB.peek();}
}
【力扣Hot100】155. 最小栈相关推荐
- [力扣刷题总结](栈和单调栈篇)
文章目录 ~~~~~~~~~~~~栈~~~~~~~~~~~~ 155. 最小栈 解法1:链表 剑指 Offer 31. 栈的压入.弹出序列 解法1:模拟栈 20. 有效的括号 解法1:栈 相似题目: ...
- LeetCode:155. 最小栈
题目链接 155.最小栈 题目描述 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈. push(x) -- 将元素 x 推入栈中. pop() -- 删除栈顶的元素. ...
- 【LeetCode】【HOT】155. 最小栈(辅助栈)
[LeetCode][HOT]155. 最小栈 文章目录 [LeetCode][HOT]155. 最小栈 package hot;import java.util.ArrayDeque; import ...
- leetcode - 155. 最小栈
设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈. push(x) – 将元素 x 推入栈中. pop() – 删除栈顶的元素. top() – 获取栈顶元素. get ...
- 单调不减序列查询第一个大于等于_[力扣84,85] 单调栈
题目链接 84. 柱状图中最大的矩形 85. 最大矩形 题目描述-84 给定 n 个非负整数,用来表示柱状图中各个柱子的高度.每个柱子彼此相邻,且宽度为 1 . 求在该柱状图中,能够勾勒出来的矩形的最 ...
- 力扣209-长度最小的子数组(Java,双指针解法)
209. 长度最小的子数组 - 力扣(LeetCode) (leetcode-cn.com)https://leetcode-cn.com/problems/minimum-size-subarray ...
- 力扣209. 长度最小的子数组
题目描述: 给定一个含有 n 个正整数的数组和一个正整数 target .找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, ...
- leetcode系列-155.最小栈
leetcode系列–第155题.最小栈 题目描述: 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈. 实现 MinStack 类: MinStack() 初始化 ...
- leetcode 155. 最小栈
难度:简单 频次:59 题目: 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈. 实现 MinStack 类: MinStack() 初始化堆栈对象. void ...
最新文章
- 计算机房电磁辐射防护,计算机房电磁屏蔽
- tableau必知必会之如何在Tableau server中实现工作薄的自动刷新
- maven、gradle依赖分析
- part.write java_小白向:web中利用request.getPart()上传文件到服务器
- 查询进程打开的文件(转)
- 解读 Microsoft.NET.Sdk 的源码,你能定制各种奇怪而富有创意的编译过程
- java中input表单中的type=date返回类型【切记】
- Java Netty 初步
- LR11安装报错:此计算机上缺少vc2005_sp1_with_atl_fix_redist,请安装所有缺少的必要组件,然后重新运行此安装。
- Lockdir 文件夹加密 破解
- CMMI认证难度大吗?
- python和jieba库进行简单文本处理之天龙八部小说
- Java算法:经纬度转换 将百度转为高德经纬度
- 重温经典,续写传奇,迈巴赫S600改铱银色加铁灰色双拼喷漆
- 【记录一次windows技术学习】使用笔记本DOS命令搭建WLAN热点
- html网站设计项目心得,网页设计制作心得体会,网页设计实训报告步骤
- html5是什么意思,html5是什么意思?
- 3.矩阵乘法和逆矩阵
- 《计算机操作系统(计算机)》
- Android 屏幕唤醒 + 屏幕解锁 + 开机广播android.intent.action.BOOT_COMPLETED