题目介绍

题解
因为要实现在常数时间内检索到栈中的最小元素,所以使用数组栈,每个数组保存[当前值, 当前最小值] 。
代码如下:
class MinStack {
private Stack<int[]> stack = new Stack<>();
public MinStack() {
}
public void push(int x) {
if (stack.isEmpty()){
stack.push(new int[]{x, x});
}else {
stack.push(new int[]{x, Math.min(x, stack.peek()[1])});
}
}
public void pop() {
stack.pop();
}
public int top() {
return stack.peek()[0];
}
public int getMin() {
return stack.peek()[1];
}
}
力扣155题:最小栈的实现
882

被折叠的 条评论
为什么被折叠?



