两个栈实现队列

重建二叉树

http://www.nowcoder.com/questionTerminal/54275ddae22f475981afa2244dd448c6

思路:

一个栈入队列,一个栈出队列,当出队列为空时,将入队列栈全部压到出队列栈中

ps: 还得自己写构造函数

# -*- coding:utf-8 -*-
class Solution:
    def __init__(self):
        self.stack1=[]
        self.stack2=[]
    def push(self, node):
        self.stack1.append(node)
    def pop(self):
        if self.stack2 ==[]:
            if not self.stack1:
                return None
            while self.stack1:
                self.stack2.append(self.stack1.pop())
            return self.stack2.pop()
        return self.stack2.pop()
全部评论

相关推荐

03-16 22:00
武汉大学 C++
幸福的小熊猫想要offer:我阿里投的 c++岗,面试官说自己是做 java 的,c++这辈子才有了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务