解题思路
栈:先进后出
队列:先进先出
两个栈,栈1作为存储空间,栈2作为临时缓冲区,辅助栈1做入队、出队的操作
入队:将元素进栈1
出队:判断栈2是否为空,若为空,则栈1元素出栈并进栈2,栈顶元素出栈
代码
python 列表操作 list.pop([index=-1])
pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
# -*- coding:utf-8 -*-
class Solution:
def __init__(self):
self.stack1 = []
self.stack2 = []
def push(self, node):
# write code here
self.stack1.append(node)
def pop(self):
# return xx
if self.stack2 == []:
while self.stack1:
self.stack2.append(self.stack1.pop())
return self.stack2.pop()
return self.stack2.pop()