题目描述
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。解题思路:
对于push操作,直接输入到栈1中 对于pop操作,若栈2为空,则将栈1元素全部进入栈2,再弹出栈2顶的元素;若栈2非空,直接弹出栈顶元素。python solution:
# -*- coding:utf-8 -*-class Solution: def __init__(self): self.stack1 = [] self.stack2 = [] def push(self, node): self.stack1.append(node) def pop(self): if len(self.stack2)==0: while len(self.stack1): self.stack2.append(self.stack1.pop(-1)) return self.stack2.pop(-1)