当前位置: 首页 > >

剑指offer??包含min函数的栈

发布时间:

利用两个栈,一个记录push和pop的顺序,一个记录最小数的栈


import java.util.Stack;

public class Solution {
Stack s1=new Stack();
Stack s2=new Stack();


public void push(int node) {
s1.push(node);
if(!s2.isEmpty()){
int temp=s2.pop();
s2.push(temp);
if(node s2.push(node);
else
s2.push(temp);
}
else
s2.push(node);
}

public void pop() {
assert(!s1.isEmpty()&&!s2.isEmpty());
s1.pop();
s2.pop();
}

public int top() {
assert(!s1.isEmpty());
int t=s1.pop();
s1.push(t);
return t;
}

public int min() {
assert(!s2.isEmpty());
int m=s2.pop();
s2.push(m);
return m;
}
}

?



友情链接: