Categories

# LeetCode 155. Min Stack (Java)

Source Url: https://leetcode-cn.com/problems/min-stack/

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.

Example:

```MinStack minStack = new MinStack();
minStack.push(-2);
minStack.push(0);
minStack.push(-3);
minStack.getMin();   --> Returns -3.
minStack.pop();
minStack.top();      --> 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.

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