题解 | 用两个栈实现队列
用两个栈实现队列
https://www.nowcoder.com/practice/54275ddae22f475981afa2244dd448c6
# -*- coding:utf-8 -*-
"""
解题思路:
1. 入队时候 往stack1 存入
2. 出队时候,如果stack2 不为空 ,stack2 先出队
如果stack2 为空 stack1 不为空将stack1 存入stack2 ,再弹出stack2 栈顶
"""
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 not self.stack1 and not self.stack2:
return -1
if self.stack2:
return self.stack2.pop()
while self.stack1:
self.stack2.append(self.stack1.pop())
return self.stack2.pop()
