
求解代码
java
Stack<Integer> stackData1 = new Stack<Integer>();
Stack<Integer> stackData2 = new Stack<Integer>();
public void push(int node) {
stackData1.push(node);
if(stackData2.isEmpty()||node<=min()){
stackData2.push(node);
}
}
public void pop() {
if(stackData1.peek().equals(min())){
stackData2.pop();
}
stackData1.pop();
}
public int top() {
return stackData1.peek();
}
public int min() {
return stackData2.peek();
}
小贴士
用 stackData1.peek().equals(min()) 来比较包装类的实际数值,也可以用 stackData1.peek().intValue() == min(),效果是一样的。