Источник:

https://leetcode.com/problems/implement-queue-using-stacks/#/описание

Реализуйте следующие операции с очередью, используя стеки.

  • push(x) — Поместить элемент x в конец очереди.
  • pop() — удаляет элемент из очереди.
  • peek() — Получить передний элемент.
  • empty() — возвращает, пуста ли очередь.

Примечания:

  • Вы должны использовать только стандартные операции стека, что означает, что допустимы только операции push to top, peek/pop from top, size и is empty.
  • В зависимости от вашего языка стек может не поддерживаться изначально. Вы можете имитировать стек, используя список или двухстороннюю очередь (двусторонняя очередь), если вы используете только стандартные операции стека.
  • Вы можете предположить, что все операции допустимы (например, операции извлечения или просмотра не будут вызываться для пустой очереди).

Мои решения С#/Java/Python находятся здесь:

https://github.com/jiajionline/LeetcodeSolutionWithMultipleLanguages/tree/master/Implement%20Queue%20using%20Stacks