任务描述:编写一个类,只能用两个栈结构实现队列,支持队列的基本操作(push,pop)。给定一个操作序列ope以及它的长度n,其中元素为正数代表push操作,为0代表pop操作,保证操作序列合法且一定含pop操作,请返回pop的结果序列。
输入:[1,2,3,0,4,0],6
返回:[1,2]
思路:push时正常的将元素push到第一个栈之中,当需要pop的时候,将第一个栈中的元素通通倒入第二个栈之中,此时第二个栈就与开始时第一个栈中元素顺序相反,然后对第二个栈进行pop操作,便实现了队列。
Python实现
1 | class TwoStack: |