本文主要是介绍225.队列实现栈,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push
、top
、pop
和 empty
)。
实现 MyStack
类:
void push(int x)
将元素 x 压入栈顶。int pop()
移除并返回栈顶元素。int top()
返回栈顶元素。boolean empty()
如果栈是空的,返回true
;否则,返回false
。
class MyStack {Queue<Integer> queue1;Queue<Integer> queue2;// offer = push// poll = pop// peek// isEmptypublic MyStack() {queue1 = new LinkedList<Integer>();queue2 = new LinkedList<Integer>();}public void push(int x) {queue1.offer(x);// 就是把x这个元素加到队列的最前面,以实现后进先出while(!queue2.isEmpty()){queue1.offer(queue2.poll());}while(!queue1.isEmpty()){queue2.offer(queue1.poll());}}public int pop() {return queue2.poll();}public int top() {return queue2.peek();}public boolean empty() {return queue2.isEmpty();}
}
这篇关于225.队列实现栈的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!