技术栈

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

Ddddddd_1582024-08-18 8:08

题目:

题解:

cpp 复制代码
class NestedIterator {
private:
    vector<int> vals;
    vector<int>::iterator cur;

    void dfs(const vector<NestedInteger> &nestedList) {
        for (auto &nest : nestedList) {
            if (nest.isInteger()) {
                vals.push_back(nest.getInteger());
            } else {
                dfs(nest.getList());
            }
        }
    }

public:
    NestedIterator(vector<NestedInteger> &nestedList) {
        dfs(nestedList);
        cur = vals.begin();
    }

    int next() {
        return *cur++;
    }

    bool hasNext() {
        return cur != vals.end();
    }
};
上一篇:微服务服务通讯--简述Query查询
下一篇:原型与原型链与继承
相关推荐
感哥
3 小时前
C++ 多态
c++
沐怡旸
10 小时前
【底层机制】std::string 解决的痛点?是什么?怎么实现的?怎么正确用?
c++·面试
River416
13 小时前
Javer 学 c++(十三):引用篇
c++·后端
感哥
16 小时前
C++ std::set
c++
Fanxt_Ja
16 小时前
【LeetCode】算法详解#15 ---环形链表II
数据结构·算法·leetcode·链表
侃侃_天下
16 小时前
最终的信号类
开发语言·c++·算法
博笙困了
17 小时前
AcWing学习——差分
c++·算法
青草地溪水旁
17 小时前
设计模式(C++)详解—抽象工厂模式 (Abstract Factory)(2)
c++·设计模式·抽象工厂模式
青草地溪水旁
17 小时前
设计模式(C++)详解—抽象工厂模式 (Abstract Factory)(1)
c++·设计模式·抽象工厂模式
感哥
18 小时前
C++ std::vector
c++
热门推荐
01GitHub 镜像站点02UV 工具安装与国内镜像源配置指南03Claude Code 平替:OpenAI发布 Codex CLI ,GPT-5 国内直接使用04UV安装并设置国内源0546个Nano-banana 精选提示词,持续更新中06A股预测还能更准?开源大模型Kronos带你跑通预测+回测全流程07conda中设置镜像地址(附所有可换的地址)08KGG转MP3工具|非KGM文件|解密音频09保姆级教程:手把手教你用Dify实现完美多轮对话(附Chatflow和提示词)10突破百度网盘的下载限速,两种方法教会你【超详细】