题目
自己定义一个栈的class,要求此栈有三个方法push、pop、getmin
push:往栈中压入一个数据
pop:从栈中弹出一个数据
gitmin:过去这个栈中最小的数据单不弹出
解析
准备两个栈stackData、stackMin
压栈时,
stackData压入数据;
stackMin栈顶数据大于需要压入的数据,stackMin也压入这个数据,stackMin栈顶数据小于需要压入的数据,重复压入stackMin栈顶数据。
例如需要压入的数据依次是:[4,7,3,5,1]
弹栈时,stackData与stackMin一起弹出即可
代码
public class MyStack {
private Stack<Integer> stackData;
private Stack<Integer> stackMin;
public MyStack() {
this<