您的位置:首页 > 其它

3.2---最小栈(CC150)

2015-12-20 13:24 302 查看
//思路:入栈时不是最小值,永远都没机会成为最小值。

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();
}
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: