Mental Model
A queue can be made using two stacks by reversing the order twice to keep the first-in-first-out order.
Analogy: Imagine two trays where you stack plates. You put plates on the first tray, then to serve the oldest plate, you flip all plates onto the second tray, reversing their order, so the oldest plate is on top to take out first.
stack1: top -> [] stack2: top -> [] queue front is top of stack2 if not empty, else bottom of stack1
