classMinStack{/** initialize your data structure here. */LinkedList<Integer>stack=newLinkedList<>();LinkedList<Integer>minStack=newLinkedList<>();publicMinStack(){minStack.push(Integer.MAX_VALUE);}//主栈添加一个元素 辅助栈同时添加一个当前最小元素publicvoidpush(intval){stack.push(val);//还可以优化一下,不用每次都存minStack.push(Math.min(val,minStack.peek()));}//同时弹出publicvoidpop(){stack.pop();minStack.pop();}publicinttop(){returnstack.peek();}//本题难点是如何获取栈中的最小元素publicintgetMin(){returnminStack.peek();}}/** * Your MinStack object will be instantiated and called as such: * MinStack obj = new MinStack(); * obj.push(val); * obj.pop(); * int param_3 = obj.top(); * int param_4 = obj.getMin(); */