解决思路
压入(push)
当我们将一个元素从队列入队的时候,根据队列的性质这个元素会存在队列的后端。
但当我们实现一个栈的时候,最后入队的元素应该在前端,而不是在后端。为了实现这个目的,每当入队一个新元素的时候,我们可以把队列的顺序反转过来。
public class MyStack {
private LinkedList<Integer> q1;
public MyStack(){
q1 = new LinkedList<>();
}
public void push(int x){
q1.add(x);
int sz = q1.size();
while(sz>1){
q1.add(q1.remove());
sz--;
}
}
public int pop(){
return q1.remove();
}
public int top(){
return q1.peek();
}
public boolean empty(){
return q1.isEmpty();
}
}