专门使用一个栈,来记录每次入栈所对应的最小值。同步弹出
包含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();
}
}
查看7道真题和解析