用两个栈实现队列

用两个栈实现队列

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

相关推荐

2025-12-14 11:43
黑龙江大学 Java
用微笑面对困难:确实比较烂,可以这么修改:加上大学的qs排名,然后大学简介要写一些,然后硕士大学加大加粗,科研经历第一句话都写上在复旦大学时,主要负责xxxx,简历左上角把学校logo写上,建议用复旦大学的简历模板
点赞 评论 收藏
分享
喵_coding:项目太烂了外卖+点评啊 而且寒假实习差不多到时候了 hc没多少了 要实在想要找那只能投投大厂试试了
点赞 评论 收藏
分享
评论
17
收藏
分享

创作者周榜

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