首页 > 代码库 > 155. Min Stack
155. Min Stack
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.
- push(x) -- Push element x onto stack.
- pop() -- Removes the element on top of the stack.
- top() -- Get the top element.
- getMin() -- Retrieve the minimum element in the stack.
Example:
MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.getMin(); --> Returns -3.minStack.pop();minStack.top(); --> Returns 0.minStack.getMin(); --> Returns -2.
In Java
public class MinStack { private Stack _stack; private Stack _stackMin; /** initialize your data structure here. */ public MinStack() { _stack = new Stack(); _stackMin = new Stack(); } public void push(int x) { _stack.push(x); if(_stackMin.isEmpty() || (int)_stackMin.peek() >= x) { _stackMin.push(x); } } public void pop() { if(!_stack.isEmpty() && (int)_stack.pop() <= (int)_stackMin.peek()) _stackMin.pop(); } public int top() { if(_stack.isEmpty()) return 0; return (int)_stack.peek(); } public int getMin() { if(_stackMin.isEmpty()) return 0; return (int)_stackMin.peek(); }}
155. Min Stack
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。