2021218 LeetCode刷题最小栈(难度 :单词规律)
设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。
push(x) —— 将元素 x 推入栈中。
pop() —— 删除栈顶的元素。
top() —— 获取栈顶元素。
getMin() —— 检索栈中的最小元素。
import java.util.Deque; class MinStack { private Deque<Integer> stack; private Deque<Integer> minStack; public MinStack() { stack = new LinkedList<Integer>(); minStack = new LinkedList<Integer>(); minStack.push(Integer.MAX_VALUE); } public void push(int val) { stack.push(val); minStack.push(Math.min(minStack.peek(),val)); } public void pop() { stack.pop(); minStack.pop(); } public int top() { return stack.peek(); } public int getMin() { return minStack.peek(); } } /** * Your MinStack object will be instantiated and called as such: * MinStack obj = new MinStack(); * obj.push(val); * obj.pop(); * int param_3 = obj.top(); * int param_4 = obj.getMin(); */
执行结果:
通过
显示详情
添加备注
执行用时:4 ms, 在所有 Java 提交中击败了99.44%的用户
内存消耗:40 MB, 在所有 Java 提交中击败了66.99%的用户
通过测试用例:31 / 31
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/min-stack
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
本文来自博客园,作者:skystrivegao,转载请注明原文链接:https://www.cnblogs.com/skystrive/p/15704531.html
整理不易,如果对您有所帮助 请点赞收藏,谢谢~