第一行输入一个整数N,表示对队列进行的操作总数。
下面N行每行输入一个字符串S,表示操作的种类。
如果S为"add",则后面还有一个整数X表示向队列尾部加入整数X。
如果S为"poll",则表示弹出队列头部操作。
如果S为"peek",则表示询问当前队列中头部元素是多少。
对于每一个为"peek"的操作,输出一行表示当前队列中头部元素是多少。
6 add 1 add 2 add 3 peek poll peek
1 2
1<=N<=1000000
-1000000<=X<=1000000
数据保证没有不合法的操作
#队列先进先出,栈先入后出 #一个输入栈,一个输出栈,输入栈的顺序是进的顺序, #将输入栈pop到输出栈后,输出栈的顺序是输出的顺序 import sys class MyQueue: def __init__(self): self.push_stack = [] self.poll_stack = [] def add(self, data): self.push_stack.append(data) def __deliverData(self): if not self.poll_stack: while self.push_stack: self.poll_stack.append(self.push_stack.pop()) def peek(self): self.__deliverData() return self.poll_stack[-1] def poll(self): self.__deliverData() self.poll_stack.pop() myQueue = MyQueue() n = int(sys.stdin.readline().strip()) for i in range(n): line = sys.stdin.readline().strip() args = line.split(' ') if args[0] == 'add': myQueue.add(int(args[1])) elif args[0] == 'peek': print(myQueue.peek()) elif args[0] == 'poll': myQueue.poll()