Leetcode155. 最小栈(辅助栈)
Posted !0 !
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode155. 最小栈(辅助栈)相关的知识,希望对你有一定的参考价值。
题目链接:https://leetcode-cn.com/problems/min-stack/
解题思路
利用辅助栈存储最小值。我们可以发现,如果当前要加入的元素小于等于最小栈的元素,就直接加入最小栈。出栈时,如果当前出栈元素等于最小栈的栈顶,就直接出栈。
代码
class MinStack {
Deque<Integer> a;
Deque<Integer> b;
public MinStack() {
a = new LinkedList<>();
b = new LinkedList<>();
}
public void push(int val) {
a.push(val);
if(b.isEmpty() || (!b.isEmpty() && b.peek() >= val))
b.push(val);
}
public void pop() {
int x = a.pop();
if(x == b.peek())
b.pop();
}
public int top() {
return a.peek();
}
public int getMin() {
return b.peek();
}
}
以上是关于Leetcode155. 最小栈(辅助栈)的主要内容,如果未能解决你的问题,请参考以下文章