Min Stack

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

Examples
Input: [["MinStack","push","push","push","getMin","pop","top","getMin"],[[],[-2],[0],[-3],[],[],[],[]]]
Output: [null,null,null,null,-3,null,0,-2]
Hints

Min Stack

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