首页 > 学院 > 开发设计 > 正文

MinStack

2019-11-14 22:01:34
字体:
来源:转载
供稿:网友
MinStack

leetcode 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.

class MinStack {    PRivate Stack<Integer> stack;    private Stack<Integer> min;  //存储最小数的栈    public MinStack() {        stack = new Stack<Integer>();        min = new Stack<Integer>();    }    public void push(int x) {                if (min.isEmpty() || min.peek()>=x)            min.push(x);        stack.push(x);    }    public void pop() {        if (stack.peek().equals(min.peek()))            min.pop();        stack.pop();    }    public int top() {        return stack.peek();    }    public int getMin() {        return min.peek();    }}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表