Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Queue Using Two Stacks

EasyPython00:00
Practice interviewer
In session
5 left
00:00

Your question is Queue Using Two Stacks. Start with the requirements on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

Revature's training portal receives ordered processing requests, but its exercise runtime exposes only stack operations. Implement a queue using two stacks and process a sequence of queue commands.

Formal Specification

Implement process_queue_operations(operations), where operations is a list of command lists:

  • ["enqueue", value]: add integer value to the back of the queue.
  • ["dequeue"]: remove and return the front value.
  • ["peek"]: return the front value without removing it.
  • ["empty"]: return whether the queue contains no values.

Return a list containing one result for every command. enqueue results are null. Every dequeue and peek command is valid only when the queue is nonempty.

Use only two Python lists as stacks. Do not use collections.deque, queue.Queue, or list operations that remove from index 0.

Constraints

  • 1 <= operations.length <= 100,000
  • Each enqueue value is an integer in [-10^9, 10^9]
  • Every dequeue and peek operation occurs on a nonempty queue
  • Use exactly two lists as stacks for queue storage
  • Do not use deque, queue.Queue, or pop(0)

Function Signature

def process_queue_operations(operations):
Your solutionPython 3
You need to log in / sign up to run or submit.
Run your code to see test output