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();
    }
};
相关推荐
田梓燊4 小时前
力扣:23.合并 K 个升序链表
算法·leetcode·链表
张健11564096487 小时前
使用信号量限制并发数量
开发语言·c++
jc06207 小时前
6.1云原生之Docker
c++·docker·云原生
叶子野格10 小时前
《C语言学习:指针》12
c语言·开发语言·c++·学习·visual studio
Fuyo_111910 小时前
C++ 内存管理
c++·笔记
澈20711 小时前
C++面向对象:类与对象核心解析
c++·算法
6Hzlia11 小时前
【Hot 100 刷题计划】 LeetCode 141. 环形链表 | C++ 哈希表直觉解法
c++·leetcode·链表
handler0112 小时前
Linux 进程探索:从 PCB 管理到 fork() 的写时拷贝
linux·c语言·c++·笔记·学习
众少成多积小致巨13 小时前
GNU Make 核心指南
android·c++
谭欣辰13 小时前
详细讲解 C++ 状压 DP
开发语言·c++·动态规划