用队列实现栈【简单】
思路
1、我们这里只使用一个队列来进行操作。
2、我们在push()方法中,直接将放入队列中的数据,每个取出再反向的装入到队列中,就可以实现这个方法。
3、其他就正常写
代码实现[java]
class MyStack {
Queue<Integer> queue;
public MyStack() {
queue = new LinkedList<>();
}
public void push(int x) {
// 把x数据放入队列中
queue.offer(x);
// 拿到一个长度size
int size = queue.size();
// 开始倒叙循环
while(size-- >1){
// 把queue中每个数据取出,再放入queue中
queue.offer(queue.poll());
}
}
public int pop() {
return queue.poll();
}
public int top() {
return queue.peek();
}
public boolean empty() {
return queue.isEmpty();
}
}