https://leetcode.com/problems/implement-queue-using-stacks
232. Implement Queue using Stacks
利用 2 個堆疊 (stacks) 實作先進先出 (FIFO)
實作 class MyQueue
void push(int x): 將 x 放到佇列末端
int pop(): 移除最前面的元素並 return 該元素
int peek(): Return 最前面的元素
boolean empty(): 佇列為空時 Return True 反之 False
Example 1:
Input
["MyQueue", "push", "push", "peek", "pop", "empty"]
[[], [1], [2], [], [], []]
Output
[null, null, null, 1, 1, false]
Explanation
MyQueue myQueue = new MyQueue();
myQueue.push(1); // queue is: [1]
myQueue.push(2); // queue is: [1, 2] (左方是佇列前面)
myQueue.peek(); // return 1
myQueue.pop(); // return 1, queue is [2]
myQueue.empty(); // return false
條件:
1 <= x <= 9
push, pop, peek, empty 最多呼叫 100 次
所有的 pop, peek 都是有效的
Python3 code: