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 分钟前
C++ string 类详解:概念、常用操作与实践(算法竞赛类)
开发语言·c++·经验分享·笔记·算法
先做个垃圾出来………10 分钟前
53. 最大子数组和
算法·leetcode
POLITE319 分钟前
Leetcode 160.相交链表 JavaScript (Day 9)
javascript·leetcode·链表
Lucis__24 分钟前
哈希实现&封装unordered系列容器
数据结构·c++·算法·哈希封装
雾岛听蓝24 分钟前
C++ vector:从使用到底层核心剖析
开发语言·c++
青岛少儿编程-王老师32 分钟前
CCF编程能力等级认证GESP—C++7级—20251227
开发语言·c++
汉克老师33 分钟前
GESP2025年12月认证C++四级真题与解析(编程题2 (优先购买))
c++·sort·结构体·优先级·gesp4级·gesp四级
我可以将你更新哟35 分钟前
在Ubuntu 22.04上安装C++编译工具
linux·c++·ubuntu
Skrrapper38 分钟前
TCPTP协议是什么?以及Socket使用指南
网络·c++·websocket·计算机网络
爱编程的小吴43 分钟前
【力扣练习题】热题100道【哈希】189. 轮转数组
算法·leetcode·哈希算法