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

用两个栈实现队列

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-30 23:23
已编辑
中山大学 Web前端
去B座二楼砸水泥地:这无论是个人素质还是专业素质都👇拉满了吧
点赞 评论 收藏
分享
11-18 15:57
门头沟学院 Java
起一个响亮的妹子吧:虽然但是,确有其人,重邮同届的,没有技巧,纯纯的个人实力。查看图片
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务