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

特定深度节点链表

题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

经典BFS与简单链表结合的题目。

#define MAX_DEPTH (1000)struct ListNode** listOfDepth(struct TreeNode* tree, int* returnSize)
{*returnSize = 0;struct ListNode **ans = (struct ListNode **)malloc(sizeof(struct ListNode*) * MAX_DEPTH);struct TreeNode *quene[MAX_DEPTH];struct ListNode *pre = NULL;int front = 0;int rear = 0;if (tree) {quene[rear++] = tree;}while (front != rear) {int cnt = rear - front;for (int i = 0; i < cnt; i++) {if (i == 0) {ans[(*returnSize)] = (struct ListNode*)malloc(sizeof(struct ListNode)); // 每层的链表头pre = ans[(*returnSize)++];pre->val = quene[front]->val;pre->next = NULL;} else {struct ListNode *node = (struct ListNode*)malloc(sizeof(struct ListNode));node->val = quene[front]->val;node->next = NULL;pre->next = node;pre = pre->next;}if (quene[front]->left) {quene[rear++] = quene[front]->left;}if (quene[front]->right) {quene[rear++] = quene[front]->right;}front++;}}return ans;
}

http://www.lryc.cn/news/199566.html

相关文章:

  • 【css】背景换颜色
  • 什么是美颜sdk?直播实时美颜sdk的工作流程和架构分析
  • 第二证券:跌破3000点,热搜第一!
  • IJCAI2023【基于双曲空间探索的非独立同分布联邦学习】
  • 实现Linux下Word转PDF、Java调用命令方式
  • Java并发-06-AQS(AbstractQueuedSynchronizer)相关
  • 【Python接口自动化】--深入了解HTTP接口基本组成和网页构建原理
  • window mysql5.7.27 启用SSL openssl mysql_ssl_rsa_setup
  • 性能测试-JMeter分布式测试及其详细步骤
  • 学习gin-vue-admin之创建api和swagger
  • 2023-10-17 mysql-innodb-解析write_row的record的一行数据-分析
  • 认识web自动化测试!
  • 多商户进驻小程序商城的作用是什么
  • 接口响应慢该如何排查
  • spring boot MongoDB实战
  • 企业数字化转型时,会遇到的5大挑战
  • 动态语句 sqlserver
  • 【一文清晰】单元测试到底是什么?应该怎么做?
  • 二、基于PCL的RANSAC拟合点云中所有直线或平面——3D点云处理系列
  • Linux实用指令-指定运行级别、帮助指令
  • 【LeetCode】2562. 找出数组的串联值
  • Hive知识梳理(好文)
  • GitHub仓库的README文件无法显示图片问题-非域名污染原因
  • opencv入门到精通——图片,视频,摄像头的读取与保存
  • Android 13.0 开机动画支持mp4格式视频作为开机动画播放
  • 前端自学需要把大量时间放在 HTML、CSS 吗?
  • Python爬虫如何设置代理服务器(搭建代理服务器教程)
  • 基于SpringBoot的校园志愿者管理系统
  • 24-数据结构-内部排序-基数排序
  • oracle11g安装图解