import java.util.Stack; public class Solution { Stack<Integer> stack = new Stack<>(); Stack<Integer> minStack = new Stack<>(); public void push(int node) { stack.push(node); if(minStack.isEmpty()|| node < minStack.peek()) { minStack.push(node); }else { minStack.push(minStack.peek()); } } public void pop() { stack.pop(); minStack.pop(); } public int top() { return stack.peek(); } public int min() { // 返回栈中最小元素 return minStack.peek(); } }我的做法就是新建立一个栈来保存最小值,空间复杂度要加倍。