[0716] 最大栈
- GitHub
- http://leetcode.xuezhisd.top/post/eb85e98b.html
- https://leetcode.com/problems/max-stack
- https://leetcode-cn.com/problems/max-stack
题目描述
设计一个最大栈,支持 push、pop、top、peekMax 和 popMax 操作。
- push(x) -- 将元素 x 压入栈中。
- pop() -- 移除栈顶元素并返回这个值。
- top() -- 返回栈顶元素。
- peekMax() -- 返回栈中最大元素。
- popMax() -- 返回栈中最大的元素,并将其删除。如果有多个最大元素,只要删除最靠近栈顶的那个。
样例 1:
MaxStack stack = new MaxStack(); stack.push(5); stack.push(1); stack.push(5); stack.top(); -> 5 stack.popMax(); -> 5 stack.top(); -> 1 stack.peekMax(); -> 5 stack.pop(); -> 1 stack.top(); -> 5
注释:
- -1e7 <= x <= 1e7
- 操作次数不会超过 10000。
- 当栈为空的时候不会出现后四个操作。
Related Topics
题目解析
- [请一句话描述题目…]
不确定性
方法一:[算法名称]
分析
思路
注意
知识点
复杂度
代码
1 | // |
方法二:[算法名称]
分析
思路
注意
知识点
复杂度
代码
1 | // |