首页 > 代码库 > Leetcode 155. Min Stack JAVA语言

Leetcode 155. Min Stack JAVA语言

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.


Subscribe to see which companies asked this question.

题意:设计一个有MIN函数的栈。

public class MinStack {
    private Stack<Integer> stackData;
    private Stack<Integer> stackMin;

    /** initialize your data structure here. */
    public MinStack() {
        stackData=http://www.mamicode.com/new Stack();>

PS:定义一个辅助栈。用于存放每一步的最小值。参见左老师的书P1。

Leetcode 155. Min Stack JAVA语言