剑指offer面试题21-包含min函数的栈

题目:

定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。

在该栈中,调用min,push,pop的时间复杂度都是O(1)


public class StackWithMin {

	private Stack<Integer> stack = null;
	private Stack<Integer> minStack = null;

	public StackWithMin() {
		stack = new Stack<Integer>();
		minStack = new Stack<Integer>();
	}

	public Integer pop() {
		minStack.pop();
		return stack.pop();
	}

	public Integer push(Integer item) {
		minStack.push(item < stack.peek() ? item : stack.peek());
		return stack.push(item);
	}

	public Integer min() {
		return minStack.peek();
	}
}



你可能感兴趣的:(剑指offer面试题21-包含min函数的栈)