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();
    }
};
相关推荐
Boop_wu13 分钟前
[Java 算法] 字符串
linux·运维·服务器·数据结构·算法·leetcode
watson_pillow18 分钟前
c++ 协程的初步理解
开发语言·c++
故事和你9135 分钟前
洛谷-算法1-2-排序2
开发语言·数据结构·c++·算法·动态规划·图论
Tanecious.3 小时前
蓝桥杯备赛:Day6-B-小紫的劣势博弈 (牛客周赛 Round 85)
c++·蓝桥杯
流云鹤3 小时前
Codeforces Round 1090 (Div. 4)
c++·算法
小菜鸡桃蛋狗3 小时前
C++——string(上)
开发语言·c++
wljy13 小时前
第十三届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组(个人见解,已完结)
c语言·c++·算法·蓝桥杯·stl
清空mega4 小时前
C++中关于数学的一些语法回忆(2)
开发语言·c++·算法
想唱rap4 小时前
线程池以及读写问题
服务器·数据库·c++·mysql·ubuntu
望眼欲穿的程序猿4 小时前
Vscode Clangd 无法索引 C++17 或者以上标准
java·c++·vscode