定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))
思路
- 定义2个栈,一个正常存数据,一个作为辅助栈来存最小值;
- 因为辅助栈的栈顶元素最当前栈中的最小值,每次push比较入栈元素和辅助栈栈顶元素,小的则放入辅助栈;
图示
代码实现
1 | class minStack |
结果:
1 | 35 |
曾梦想仗剑走天涯 看一看世界的繁华
定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))
1 | class minStack |
1 | 35 |
WeChat Pay