剑指offer-包含min函数的栈
题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 思路: 2 -> 4 -> 1 -> 5 -> 3 放值的栈: 2 -> 4 -> 1 -> 5 -> 3 放最小值的栈: 2 -> 2 -> 1 -> 1 -> 1 import java . util . Stack ; public class Solution { //有两个栈,一个放值,一个放最小值 Stack < Integer > putvalue = new Stack < > ( ) ; Stack < Integer > putminvalue = new Stack < > ( ) ; public void push ( int node ) { putvalue . push ( node ) ; if ( node < putminvalue . peek ( ) ) { putminvalue . push ( node ) ; } else { putminvalue . push ( putminvalue . peek ( ) ) ; } } public void pop ( ) { putvalue . pop ( ) ; putminvalue . pop ( ) ; } public int top ( ) { return