用两个栈实现队列

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

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()
全部评论

相关推荐

11-11 14:21
西京学院 C++
无敌混子大王:首先一点,不管学校层次怎么样,教育经历放在第一页靠上位置,第一页看不到教育经历,hr基本直接扔掉了
点赞 评论 收藏
分享
躺尸修仙中:因为很多92的也去卷中小厂,反正投递简历不要钱,面试不要钱,时间冲突就推,不冲突就面试积累经验
点赞 评论 收藏
分享
评论
32
1
分享
牛客网
牛客企业服务