用两个栈实现队列

用两个栈实现队列

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

相关推荐

与火:这不接? 留子的钱不挣白不挣
点赞 评论 收藏
分享
双非一本失业第二年:《机器视觉垃圾分类》
点赞 评论 收藏
分享
评论
17
收藏
分享
牛客网
牛客企业服务