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();
    }
};
相关推荐
千金裘换酒6 小时前
LeetCode 移动零元素 快慢指针
算法·leetcode·职场和发展
byxdaz7 小时前
C++内存序
c++
优雅的潮叭8 小时前
c++ 学习笔记之 malloc
c++·笔记·学习
漫随流水8 小时前
leetcode算法(515.在每个树行中找最大值)
数据结构·算法·leetcode·二叉树
苦藤新鸡10 小时前
8.最长的无重复字符的子串
c++·力扣
千金裘换酒10 小时前
LeetCode反转链表
算法·leetcode·链表
꧁Q༒ོγ꧂11 小时前
C++ 入门完全指南(四)--函数与模块化编程
开发语言·c++
汉克老师11 小时前
GESP2025年12月认证C++八级真题与解析(判断题8-10)
c++·快速排序··lcs·gesp八级·gesp8级
qq_4335545411 小时前
C++ manacher(求解回文串问题)
开发语言·c++·算法
圣保罗的大教堂12 小时前
leetcode 1161. 最大层内元素和 中等
leetcode