用两个栈实现队列

用两个栈实现队列

http://www.nowcoder.com/questionTerminal/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 len(self.stack2) == 0:
            while len(self.stack1) != 0:
                 self.stack2.append(self.stack1[len(self.stack1)-1])
                 self.stack1.pop()
        pop = self.stack2[len(self.stack2)-1]
        self.stack2.pop()
        return pop

写个python版本的,仅供参考,已运行成功。

全部评论
self.stack2.append(self.stack1[len(self.stack1)-1]) self.stack1.pop()这2行可以合并为 self.stack2.append(self.stack1.pop())
1 回复 分享
发布于 2021-07-29 20:01
懂了,list就是栈啊草,我都不知道
点赞 回复 分享
发布于 2021-03-31 22:47

相关推荐

05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
评论
17
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务