Leetcode155.最小栈
Leetcode155.最小栈
赵海波设计一个支持
push
,pop
,top
操作,并能在常数时间内检索到最小元素的栈。实现
MinStack
类:
MinStack()
初始化堆栈对象。void push(int val)
将元素val推入堆栈。void pop()
删除堆栈顶部的元素。int top()
获取堆栈顶部的元素。int getMin()
获取堆栈中的最小元素。示例 1:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 >输入:
>["MinStack","push","push","push","getMin","pop","top","getMin"]
>[[],[-2],[0],[-3],[],[],[],[]]
>输出:
>[null,null,null,null,-3,null,0,-2]
>解释:
>MinStack minStack = new MinStack();
>minStack.push(-2);
>minStack.push(0);
>minStack.push(-3);
>minStack.getMin(); --> 返回 -3.
>minStack.pop();
>minStack.top(); --> 返回 0.
>minStack.getMin(); --> 返回 -2.
思路比较简单,只要同时维护一个栈中装有对应元素数量的最小值栈即可(辅助栈)
代码:
1 | import math |
评论
匿名评论隐私政策