Java 求解用队列实现栈

一、题目

请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通队列的全部四种操作(push、top、pop 和 empty)。

实现 MyStack 类:

  • void push(int x) 将元素 x 压入栈顶。
  • int pop() 移除并返回栈顶元素。
  • int top() 返回栈顶元素。
  • boolean empty() 如果栈是空的,返回 true ;否则,返回 false

二、代码

用队列实现栈,关键就是对出栈的实现,因为队列是先进先出,栈是先进后出,所以对于出栈的实现,用队列2当做备份,队列1先出栈,用队列2备份接收,直到队列1剩余最后一个,然后出队

class MyStack {
   
    Deque<

版权声明:本文为nanhuaibeian原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。