题解 | #用两个栈实现队列#
用两个栈实现队列
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的目的就是能将先进后出变为先进先出
#我的实习求职记录#实习算法题题解 文章被收录于专栏
实习算法题