题解 | #包含min函数的栈#
包含min函数的栈
https://www.nowcoder.com/practice/4c776177d2c04c2494f2555c9fcc1e49
import java.util.*;
// (2/2) 双栈法
public class Solution {
// 记录栈中最小的数据
Stack<Integer> mstack = new Stack<>();
Stack<Integer> stack = new Stack<>();
public void push(int node) {
if(mstack.isEmpty()){
mstack.push(node);
}else{
if(node < mstack.peek()){
mstack.push(node);
}else{
mstack.push(mstack.peek());
}
}
stack.push(node);
}
public void pop() {
// mstack和stack中的元素具有一一对应的关系
mstack.pop();
stack.pop();
}
public int top() {
return stack.peek();
}
public int min() {
return mstack.peek();
}
}


查看12道真题和解析