专门使用一个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();
}
} 


京公网安备 11010502036488号