题解 | #用两个栈实现队列#

用两个栈实现队列

https://www.nowcoder.com/practice/54275ddae22f475981afa2244dd448c6

class Solution:
    def __init__(self):
        self.stack1 = []
        self.stack2 = []

    def push(self, node):
        # 直接将元素添加到 stack1
        self.stack1.append(node)

    def pop(self):
        if not self.stack2:  # 只有当 stack2 为空时才进行转移
            while self.stack1:  # 将 stack1 中的元素转移到 stack2
                self.stack2.append(self.stack1.pop())
        return self.stack2.pop() if self.stack2 else None  # 如果 stack2 有元素,则返回栈顶元素

剑指offer刷题笔记 文章被收录于专栏

24秋招剑指offer刷题的笔记

全部评论

相关推荐

10-05 23:02
东北大学 Java
我说句实话啊:那时候看三个月培训班视频,随便做个项目背点八股,都能说3 40w是侮辱价
点赞 评论 收藏
分享
10-25 12:05
已编辑
湖南科技大学 Java
若梦难了:我有你这简历,已经大厂乱杀了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务