← Queue Patterns

Micro-Drill #45 — Queue from two stacks idea

Queue Patterns Target: 15s

Two-stack queue amortizes to O(1) per operation. Classic data structure design question.

in_stack, out_stack = [], []

def enqueue(x):
    in_stack.append(x)

def dequeue():
    if not out_stack:
        while in_stack:
            out_stack.append(in_stack.pop())
    return out_stack.pop()

Type it from memory. Go.

Practice Problems

Related Coding Drills

← Micro #44 Micro #46 →