题目描述
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
构造一个辅助栈来存储最小值,当数据栈添加数据时,辅助栈也同时添加当前的最小值。
import java.util.Stack;
public class Solution {
Stack<Integer> mStack=new Stack();
Stack<Integer> mMinNum=new Stack();
public void push(int node) {
mStack.push(node);
if(mMinNum.empty()||mMinNum.peek()>node){
mMinNum.push(node);
}else{
mMinNum.push(mMinNum.peek());
}
}
public void pop() {
mStack.pop();
mMinNum.pop();
}
public int top() {
return mStack.peek();
}
public int min() {
return mMinNum.peek();
}
}
本文介绍了一种特殊栈的数据结构实现,通过维护一个辅助栈来实时获取栈中最小元素。这种方法确保了在进行常规栈操作的同时,可以高效地获取到当前栈内的最小值。

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



