思路分析:在栈中实现一个方法 每一调用该方法可以获得当前栈中的最大值 通过把两个栈封装在一个栈中 其中的一个栈存放正常的元素 另一个栈max只存最大元素
如果push()一个数 如果这个数比 最大栈max.peek()还要大 说明插入的该元素是栈中的最大的元素 否则 在max栈中插入max.peek()
最小栈的思路和这类似,下面我们来看一下实现:
思路分析:在栈中实现一个方法 每一调用该方法可以获得当前栈中的最大值 通过把两个栈封装在一个栈中 其中的一个栈存放正常的元素 另一个栈max只存最大元素
如果push()一个数 如果这个数比 最大栈max.peek()还要大 说明插入的该元素是栈中的最大的元素 否则 在max栈中插入max.peek()
最小栈的思路和这类似,下面我们来看一下实现: