用两个栈实现队列

用两个栈实现队列

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 收藏 评论
分享
牛客网
牛客企业服务