我在这里有一个非常棘手的问题:如何仅使用 FIFO 队列构建 LIFO 堆栈?
所以我已经有了大部分代码,但是如下所示,我不知道如何编写 pop函数
import queue
class MyLifo:
def __init__(self):
self.fifo = queue.Queue();
self.fifoAux = queue.Queue();
def isEmpty(self):
return self.fifo.empty()
def push(self, x):
self.fifo.put(x)
def pop(self):
### your code here.
### for testing the solution:
lifo = MyLifo()
i=0
while (i<30):
lifo.push(i)
i+=1
while (lifo.isEmpty() == False):
print(lifo.pop())
lifo.push(3)
lifo.push(5)
print(lifo.pop())
lifo.push(30)
print(lifo.pop())
print(lifo.pop())
print(lifo.pop())
有朋友可以帮忙吗?