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

C语言 | Leetcode C语言题解之第429题N叉树的层序遍历

题目:

题解:

#define MAX_LEVE_SIZE 1000
#define MAX_NODE_SIZE 10000int** levelOrder(struct Node* root, int* returnSize, int** returnColumnSizes) {int ** ans = (int **)malloc(sizeof(int *) * MAX_LEVE_SIZE);*returnColumnSizes = (int *)malloc(sizeof(int) * MAX_LEVE_SIZE);if (!root) {*returnSize = 0;return ans;}struct Node ** queue = (struct Node **)malloc(sizeof(struct Node *) * MAX_NODE_SIZE);int head = 0, tail = 0;int level = 0;queue[tail++] = root;while (head != tail) {int cnt = tail - head;ans[level] = (int *)malloc(sizeof(int) * cnt);for (int i = 0; i < cnt; ++i) {struct Node * cur = queue[head++];ans[level][i] = cur->val;for (int j = 0; j < cur->numChildren; j++) {queue[tail++] = cur->children[j];}}(*returnColumnSizes)[level++] = cnt;}*returnSize = level;free(queue);return ans;
}
http://www.lryc.cn/news/447864.html

相关文章:

  • Python中列表常用方法
  • 『功能项目』下载Mongodb【81】
  • 图像特征提取-SIFT
  • ElasticSearch分页查询性能及封装实现
  • Python精选200Tips:176-180
  • 【Kotlin 集合概述】可变参数vararg、中缀函数infix以及解构声明(二十)
  • unity安装报错问题记录
  • 秋招|面试|群面|求职
  • 【Kubernetes】日志平台EFK+Logstash+Kafka【理论】
  • 基于SpringBoot+Vue+MySQL的教学资料管理系统
  • 动态规划day45:编辑距离|115. 不同的子序列、583. 两个字符串的删除操作、72. 编辑距离(动规终极好题)
  • 剑指 offer 刷题集
  • C++在线开发环境搭建(WEBIDE)
  • 重磅首发!大语言模型LLM学习路线图来了!
  • neo4j关系的创建删除 图的删除
  • 【WRF运行第三期】服务器上运行WRF模型(官网案例-Hurricane Matthew)
  • 基于springboot的书店图书销售管理系统的设计与实现 (含源码+sql+视频导入教程)
  • Spring MVC 基本配置步骤 总结
  • HCIP--以太网交换安全(一)
  • PyQt5中关于QLineEdit的空输入报错的简单处理
  • 【前端】ES12:ES12新特性
  • 语音识别(非实时)
  • 【计算机网络】--URL统一资源定位符
  • 在成都建“圈”五年,鲲鹏让智能化新风吹遍巴蜀大地
  • Unity图形用户界面!*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。(万字解析)
  • 【JAVA报错已解决】Java.lang.NullPointerException
  • JSON 教程
  • HBase 的基本架构 详解
  • crypt.h:No such file or directory报错处理
  • 网络消费维权的9个常见法律问题