Python | Leetcode Python题解之第341题扁平化嵌套列表迭代器

题目:

题解:

python 复制代码
class NestedIterator:
    def __init__(self, nestedList: [NestedInteger]):
        # 对于nestedList中的内容,我们需要从左往右遍历,
        # 但堆栈pop是从右端开始,所以我们压栈的时候需要将nestedList反转再压栈
        self.stack = nestedList[::-1]

    def next(self) -> int:
        # hasNext 函数中已经保证栈顶是integer,所以直接返回pop结果
        return self.stack.pop(-1).getInteger()

    def hasNext(self) -> bool: 
        # 对栈顶进行'剥皮',如果栈顶是List,把List反转再依次压栈,
        # 然后再看栈顶,依次循环直到栈顶为Integer。
        # 同时可以处理空的List,类似[[[]],[]]这种test case           
        while len(self.stack) > 0 and self.stack[-1].isInteger() is False:
            self.stack += self.stack.pop().getList()[::-1]
        return len(self.stack) > 0
相关推荐
Wang ruoxi5 小时前
Pygame 小游戏——贪吃蛇
python·pygame
大数据魔法师10 小时前
Streamlit(二十三)- 教程(二)- 动态导航
python·web
心中有国也有家12 小时前
GE图引擎深度解析——CANN的计算图优化与执行引擎
人工智能·pytorch·python·学习·numpy
卷毛的技术笔记13 小时前
告别硬编码!Spring AI Alibaba 实现 AI Agent 智能工具调用(Tool Calling)
java·人工智能·后端·python·spring·ai编程
编程大师哥13 小时前
匿名函数 lambda + 高阶函数
java·python·算法
vb20081114 小时前
FastAPI APIRouter
开发语言·python
adrninistrat0r14 小时前
Java调用链MCP分析工具
java·python·ai编程
杨充14 小时前
1.3 浮点型数据设计灵魂
开发语言·python·算法
meilindehuzi_a15 小时前
深入浅出数据结构:Python 字典(Dict)与集合(Set)的哈希表底层全链路追踪
数据结构·python·散列表
Lucas凉皮15 小时前
20243408 2025-2026-2 《Python程序设计》综合实践报告
python·实验报告