栈二:包含min函数的栈
/**
* 题目:包含min函数的栈
* 描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
* 注:用data来保存数据,用另一个栈min保存依次入栈最小的数
* 每次入栈的时候,如果入栈的元素比min中的栈顶元素小或等于则入栈,否则不入栈。
* 方案:
* */
public class Two { Stack<Integer> data = new Stack<>(); Stack<Integer> min = new Stack<>(); public void push(int input) { data.push(input); if(min.isEmpty() || input<min.peek()) { min.push(input); }else { min.push(min.peek()); } } public int min() { return min.pop(); } public void pop() { data.pop(); min.pop(); } }
天助自助者