Leetcode [Min Stack] java

来源:互联网 发布:世界导航软件 编辑:程序博客网 时间:2024/05/22 02:25

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.

import java.util.Stack;class MinStack {    private Stack<Integer> stack = new Stack<Integer>();    private Stack<Integer> minStack = new Stack<Integer>();    public void push(int x) {        if(minStack.isEmpty() || minStack.peek()>=x) minStack.push(x);        stack.push(x);    }    public void pop() {        if(minStack.peek().equals(stack.peek())) minStack.pop();        stack.pop();    }    public int top() {        return stack.peek();    }    public int getMin() {        return minStack.peek();    }}

记录一下,非常简单的题目,第一次提交却失败了,原因是
minStack.peek().equals(stack.peek())
这里

一开始我用了==

但是其实这里没有自动拆箱,Integer比较要用equals,大意了

0 0
原创粉丝点击