LeetCode 155. Min Stack (Java)

Source Url:

Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.

  • push(x) — Push element x onto stack.
  • pop() — Removes the element on top of the stack.
  • top() — Get the top element.
  • getMin() — Retrieve the minimum element in the stack.


MinStack minStack = new MinStack();
minStack.getMin();   --> Returns -3.
minStack.pop();;      --> Returns 0.
minStack.getMin();   --> Returns -2.

My solution is simple, use a PriorityQueue, it is actually is a min-heap, combine it with a stack to make a min-stack.


Other problems related to stack and queue, see also Stack and Queue Data Structure (Java code and Leetcode problems)

Want to know detail of heap and heapsort, check my post:Heap and Heap-Sort algorithm.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.