#2154. 最小栈
最小栈
当前没有测试数据。
问题描述
设计一个支持 push
,pop
,top
操作,并能在常数时间内检索到最小元素的栈。
实现 MinStack
类:
MinStack()
初始化堆栈对象。void push(int val)
将元素val推入堆栈。void pop()
删除堆栈顶部的元素。int top()
获取堆栈顶部的元素。int getMin()
获取堆栈中的最小元素。
格式
输入
第一行一个整数 ,表示接下来有 个调用操作。 接下来的 行,每行一个字符串,表示一个操作。 如该操作有参数,则与字符串在同一行,一个空格隔开。
输出
每个查询操作输出一个整数,即查询的结果。
样例
8
MinStack
push -2
push 0
push -3
getMin
pop
top
getMin
-3
0
-2
提示
样例说明
MinStack
minStack.push(-2);
minStack.push(0);
minStack.push(-3);
minStack.getMin(); // 返回 -3.
minStack.pop();
minStack.top(); // 返回 0.
minStack.getMin(); // 返回 -2.
数据范围
- -231 <= val <= 231 - 1
pop
、top
和getMin
操作总是在 非空栈 上调用push
,pop
,top
, andgetMin
最多被调用 3 * 104 次