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

题目:

题解:

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();
    }
};
相关推荐
郝学胜-神的一滴2 分钟前
Linux信号四要素详解:从理论到实践
linux·服务器·开发语言·网络·c++·程序人生
yangpipi-2 分钟前
《C++并发编程实战》 第3章 在线程间共享数据
开发语言·c++
fish_xk4 分钟前
c++基础
开发语言·c++
互亿无线明明13 分钟前
如何为全球业务构建可扩展的“群发国际短信接口”?
java·c++·python·golang·eclipse·php·erlang
buyue__39 分钟前
C++实现数据结构——链表
数据结构·c++·链表
weisonx1 小时前
为什么要多写文章博客
java·c++
__Ryan1 小时前
BlueprintImplementableEvent和BlueprintNativeEvent
c++·ue5·unreal engine
尋有緣2 小时前
力扣1327-列出指定时间段内所有的下单产品
leetcode·oracle·数据库开发
明洞日记2 小时前
【VTK手册019】 深入理解 vtkProperty:从几何表达到 PBR 物理渲染
c++·图像处理·算法·vtk·图形渲染