当前位置: 首页 > 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);
}
http://www.lryc.cn/news/425567.html

相关文章:

  • 冷知识:编程第一人是位伟大的女性
  • Python爬虫使用实例
  • 主成分分析(PCA)
  • python实现生命游戏
  • 基于vue框架的CIA报价平台的设计与实现1xv02(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
  • 【Kubernetes】k8s集群Pod控制器
  • 什么是NLP实体识别?
  • 掌握Jenkins自动化部署:从代码提交到自动上线的全流程揭秘
  • 糟糕界面集锦-控件篇09
  • 喵喵蓝牙热敏打印机(下)
  • 软件测试第1章 软件测试是什么
  • 【技术分享】 hysteria2从服务端到客户端部署教程
  • C++入门基础知识16
  • 浏览器调试工具-Chrome Dev Tools
  • 基于车联网大数据平台的用户驾驶习惯行为画像分析
  • Ubuntu24.04搭建maxkb开发环境
  • C++ 指针和引用的区别
  • python绘制蕨菜叶分形
  • 1分钟了解pandas
  • django-celery应用-定时执行测试cases
  • 【C++深度探索】unordered_set、unordered_map封装
  • CSS——字体背景(Font Background)
  • 秋招突击——8/15——知识补充——Socket通信
  • Qt第十四章 模型视图
  • 硬件工程师必须掌握的MOS管详细知识
  • 希尔排序,详细解析(附图解)
  • 【C语言篇】编译和链接以及预处理介绍(下篇)
  • 利用Llama2 7b自己实现一套离线AI
  • Ciallo~(∠・ω・ )⌒☆第十七篇 Ubuntu基础使用 其一
  • Linux-零拷贝技术