题解 | #用两个栈实现队列#
用两个栈实现队列
https://www.nowcoder.com/practice/54275ddae22f475981afa2244dd448c6
# -*- 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 != []:
return self.stack2.pop()
else:
while self.stack1:
self.stack2.append(self.stack1.pop())
return self.stack2.pop()
push的时候把所有元素都放到1中,pop的时候,如果2为空,将1中所有元素pop到2中,再pop2中的元素,如果2不为空,pop2中的元素,利用两个stack的目的就是能将先进后出变为先进先出
#我的实习求职记录#实习算法题题解 文章被收录于专栏
实习算法题

字节跳动公司福利 1356人发布
查看10道真题和解析