题目:
用两个栈来实现一个队列,使用n个元素来完成 n 次在队列尾部插入整数(push)和n次在队列头部删除整数(pop)的功能。 队列中的元素为int类型。保证操作合法,即保证pop操作时队列内已有元素。
数据范围: n ≤ 1000
思路:
1、限制输入数据范围;
2、python的append方法就是从尾部插入,pop方法就是从尾部删除并输出删除的元素。
class Solution:
def __init__(self):
self.stack1 = []
self.stack2 = []
def push(self, node):
# write code here
if len(self.stack1) <= 1000:
self.stack1.append(node)
def pop(self):
# return xx
if not self.stack2:
[self.stack2.append(self.stack1.pop()) for i in range(len(self.stack1))]
return self.stack2.pop()