描述
定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的 min 函数,输入操作时保证 pop、top 和 min 函数操作时,栈中一定有元素。
此栈包含的方法有:
push(value):将value压入栈中
pop():弹出栈顶元素
top():获取栈顶元素
min():获取栈中最小元素
包含min函数的栈
import java.util.Stack;
public class FindMin {
Stack<Integer> stack = new Stack<>();
Stack<Integer> minStck = new Stack<>();
public void push(int node) {
stack.push(node);
if(minStck.isEmpty() || node <= minStck.peek()){
minStck.push(node);
}
}
public void pop() {
int node = stack.pop();
if(node == minStck.peek()){
minStck.pop();
}
}
public int top() {
return stack.peek();
}
public int min() {
return minStck.peek();
}
public static void main(String[] args) {
System.out.println("main...");
}
}