Implement Stack Using Queues

Statement

Given a Queue class with common operations such as enqueue(), dequeue(), and size(), implement a Stack class with push(), pop(), and isEmpty() operations. The isEmpty() function should return true if the stack is empty and false otherwise.

Note: If the stack is empty, the pop() function should return 1-1.

A stack is a data structure in which objects are inserted and removed according to the LIFOLast In First Out principle. An item is added at the top of the stack and removed from the top as well. There are two important functionalities of the stack:

  • push(): Inserts an item at the top of the stack.
  • pop(): Removes an item from the top of the stack and returns it.

A queue is a data structure in which objects are inserted and removed according to the FIFOFirst In First Out principle, meaning the object that has been in the queue longest is the first to be removed. There are two important functionalities of the queue:

  • enqueue(): Inserts an item at the back of the queue.
  • dequeue(): Removes an item from the front of the queue and returns it.

Sample input

Push(7), Pop(), Push(9), Push(10), Pop(), IsEmpty()

Expected output

7, 10, false

Level up your interview prep. Join Educative to access 80+ hands-on prep courses.