码迷,mamicode.com
首页 > 其他好文 > 详细

3.2---最小栈

时间:2015-12-20 14:39:10      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:

//思路:入栈时不是最小值,永远都没机会成为最小值。

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) { stack.push(x); if(!minStack.empty()) { int min = minStack.peek(); if(x <= min) { minStack.push(x); } } else { minStack.push(x); } } public void pop() { if(minStack.size() != 0 && ((int)stack.peek() == (int)minStack.peek())) { minStack.pop(); } stack.pop(); } public int top() { return (int)stack.peek(); } public int getMin() { return (int)minStack.peek(); } }

  

3.2---最小栈

标签:

原文地址:http://www.cnblogs.com/yueyebigdata/p/5060723.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!