用两个栈实现队列

用两个栈实现队列_牛客网

https://www.nowcoder.com/practice/54275ddae22f475981afa2244dd448c6?tpId=13&tqId=11158&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

题目描述
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

思路:
栈A用来作入队列
栈B用来出队列,当栈B为空时,栈A全部出栈到栈B,栈B再出栈(即出队列)

AC代码:

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==[]:
        while self.stack1:
            self.stack2.append(self.stack1.pop())
    return self.stack2.pop()
全部评论

相关推荐

已老实求offer😫:有点像徐坤(没有冒犯的意思哈)
点赞 评论 收藏
分享
10-09 00:50
已编辑
长江大学 算法工程师
不期而遇的夏天:1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
32 1 评论
分享
牛客网
牛客企业服务