专门使用一个栈,来记录每次入栈所对应的最小值。同步弹出
包含min函数的栈
http://www.nowcoder.com/questionTerminal/4c776177d2c04c2494f2555c9fcc1e49
专门使用一个stack,记录每次操作所对应的最小值?
---第二小元素的下一个元素在哪儿?--解决思路:专门使用一个stack
同步弹出!!
public class Solution { Stack<Integer> min=new Stack<>(); Stack<Integer> data=new Stack<>(); public void push(int node) { data.push(node); if(min.isEmpty()){ min.push(node); }else{ min.push(Math.min(min.peek(),node)); } } public void pop() { int val=data.pop(); min.pop(); } public int top() { return data.peek(); } public int min() { return min.peek(); } }