题解 | 用两个栈实现队列
用两个栈实现队列
https://www.nowcoder.com/practice/54275ddae22f475981afa2244dd448c6
# -*- coding:utf-8 -*-
class Solution:
def __init__(self):
#初始化两个栈
self.stack1 = []#第一个栈用于入队
self.stack2 = []#第二个栈用于出队
def push(self, node):
#入队操作:直接压入栈1
self.stack1.append(node)
def pop(self):
#出队操作
#如果栈2为空的话,将栈1的所有元素都转移到栈2
if not self.stack2:
while self.stack1:
self.stack2.append(self.stack1.pop())
return self.stack2.pop()

查看10道真题和解析