包含min函数的栈(剑指offer_30)
题目描述
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的 min 函数。
-
Stack.peek()
peek()函数返回栈顶的元素,但不弹出该栈顶元素。
-
Stack.pop()
pop()函数返回栈顶的元素,并且将该栈顶元素出栈。
public class Solution { private Stack<Integer> dataStack = new Stack<>(); private Stack<Integer> minStack = new Stack<>(); public void push(int node) { dataStack.push(node); minStack.push(minStack.isEmpty()?node:Math.min(minStack.peek(),node)); } public void pop() { dataStack.pop(); minStack.pop(); } public int top() { return dataStack.peek(); } public int min() { return minStack.peek(); } }