155. Min Stack
LeetCode 155. Min Stack
Description
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.
Implement the MinStack
class:
MinStack()
initializes the stack object.void push(val)
pushes the elementval
onto the stack.void pop()
removes the element on the top of the stack.int top()
gets the top element of the stack.int getMin()
retrieves the minimum element in the stack.
Example 1:
Constraints:
-2^31 <= val <= 2^31 - 1
Methods
pop
,top
andgetMin
operations will always be called on non-empty stacks.At most
3 * 10^4
calls will be made topush
,pop
,top
, andgetMin
.
Tags
Stack, Design
Solution
Apart from a standard stack data structure (an array implemented stack), we also initialize a minStack to keep track of the minimum value of the stack. Operations related to minStack:
Constructor: minStack is initialized with an element
intMax
to avoid to be empty when we push the first element into the stack;Push: push the smaller element between
x
and the top of minStack;Pop: pop the top of minStack;
GetMin: return the top of minStack.
Complexity
Time complexity:
Space complexity:
Code
Reference
Last updated
Was this helpful?