当前位置: 首页 > news >正文

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

题目:

题解:

struct NestedIterator {int *vals;int size;int cur;
};void dfs(struct NestedIterator *iter, struct NestedInteger **nestedList, int nestedListSize) {for (int i = 0; i < nestedListSize; i++) {if (NestedIntegerIsInteger(nestedList[i])) {(iter->vals)[(iter->size)++] = NestedIntegerGetInteger(nestedList[i]);} else {dfs(iter, NestedIntegerGetList(nestedList[i]), NestedIntegerGetListSize(nestedList[i]));}}
}struct NestedIterator *nestedIterCreate(struct NestedInteger **nestedList, int nestedListSize) {struct NestedIterator *ret = malloc(sizeof(struct NestedIterator));ret->vals = malloc(sizeof(int) * 20001);ret->size = 0;ret->cur = 0;dfs(ret, nestedList, nestedListSize);return ret;
}bool nestedIterHasNext(struct NestedIterator *iter) {return iter->cur != iter->size;
}int nestedIterNext(struct NestedIterator *iter) {return (iter->vals)[(iter->cur)++];
}void nestedIterFree(struct NestedIterator *iter) {free(iter->vals);free(iter);
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • idea付费插件,哪个比较好用?
  • 书生浦语大模型全链路开源开放体系学习
  • Docker和虚拟机的区别详细讲解
  • Android T about screen rotation(二)
  • spring boot 接收第三方mq消息
  • 基于JAVA美容院管理系统(源码+论文+讲解等)
  • Windows利用ssh免密码登录Linux
  • 应急响应-DDOS-典型案例
  • Jmeter接口测试断言详解
  • Windows 系统下 MongoDB和PostgreSQL数据库数据的备份和恢复
  • 使用Redis记录错误次数、序列号锁定和冻结时间的实现步骤示例[超详细]
  • WUP-MY-LABEL-PRINTER 旻佑热敏打印机标签打印uniapp插件使用说明
  • 革新测试管理:集远程、协同、自动化于一身的统一测试管理平台
  • Depth Anything: Unleashing the Power of Large-Scale Unlabeled Data精读
  • Prometheus+Grafana保姆笔记(2)——监控Spring Boot微服务程序
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • Computed property XXX was assigned to but it has no setter
  • CSS 专业技巧
  • HTTP--网络协议分层,http历史(二)
  • learning koa2.x
  • Python socket服务器端、客户端传送信息
  • react-native 安卓真机环境搭建
  • select2 取值 遍历 设置默认值
  • Solarized Scheme
  • Spring Boot快速入门(一):Hello Spring Boot
  • Theano - 导数
  • Vultr 教程目录
  • 从setTimeout-setInterval看JS线程
  • 回流、重绘及其优化
  • 力扣(LeetCode)965
  • 如何使用 JavaScript 解析 URL
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 王永庆:技术创新改变教育未来
  • 1.Ext JS 建立web开发工程
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​Spring Boot 分片上传文件
  • ​比特币大跌的 2 个原因
  • # linux 中使用 visudo 命令,怎么保存退出?
  • #if等命令的学习
  • #数据结构 笔记三
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (2)STL算法之元素计数
  • (2024,Vision-LSTM,ViL,xLSTM,ViT,ViM,双向扫描)xLSTM 作为通用视觉骨干
  • (2024最新)CentOS 7上在线安装MySQL 5.7|喂饭级教程
  • (7) cmake 编译C++程序(二)
  • (C)一些题4
  • (Note)C++中的继承方式
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)winform之ListView
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET 中使用 Mutex 进行跨越进程边界的同步