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

leetcode刷题日记——二叉树的层次遍历

[ 题目描述 ]:
在这里插入图片描述
[ 思路 ]:

  • BFS,利用队列特性完成对树的层次遍历
  • 运行如下
    在这里插入图片描述
int** levelOrder(struct TreeNode* root, int* returnSize, int** returnColumnSizes) {if (!root) {*returnSize = 0;return NULL;}struct TreeNode* queue[2000];int** res = (int**)malloc(2000*sizeof(int*));*returnColumnSizes = (int*)malloc(2000*sizeof(int));int front = 0, rear = 0;*returnSize = 0;queue[rear++] = root;while (front < rear) {int sum = rear - front;res[*returnSize] = (int*)malloc(sum*sizeof(int));(*returnColumnSizes)[*returnSize] = sum;for (int i = 0; i < sum; i++) {struct TreeNode* node = queue[front++];res[*returnSize][i] = node->val;if (node->left) {queue[rear++] = node->left;}if (node->right) {queue[rear++] = node->right;}}(*returnSize)++;}return res;
}

[ 官方题解 ]:

  • 广度优先遍历:基本同上
http://www.xdnf.cn/news/10744.html

相关文章:

  • 【数学 逆序对 构造】P12386 [蓝桥杯 2023 省 Python B] 混乱的数组|普及+
  • deepseek原理和项目实战笔记2 -- deepseek核心架构
  • 量子物理:深入学习量子物理的基本概念与应用
  • 量子计算在大模型微调中的技术突破
  • CAN通讯协议中各种参数解析
  • P5684 [CSP-J2019 江西] 非回文串 题解
  • BUUCTF之[ACTF2020 新生赛]BackupFile
  • 【latex】易遗忘的表达
  • Vue:组件
  • 分班 - 华为OD统一考试(JavaScript 题解)
  • 【操作系统·windows快捷键指令】
  • sql注入补充——get注入
  • 322. 零钱兑换
  • Day10
  • 【C盘瘦身】给DevEco Studio中HarmonyOSEmulator(鸿蒙模拟器)换个地方,一键移动给C盘瘦身
  • 企业级开发中的 maven-mvnd 应用实践
  • 深度理解与剖析:Odoo系统邮箱配置指南
  • 给stm32cubeide编译出来的bin文件追加crc32
  • 算法训练第六天
  • 检索器组件深入学习与使用技巧 BaseRetriever 检索器基类
  • SystemVerilog—Interface在class中的使用
  • 【DSP数字信号处理】期末复习笔记(一)
  • 交换机、路由器配置
  • Jackson 数值转科学计数法问题分析与解决方案
  • 第一篇:揭示模型上下文协议(MCP):AI的通用连接器
  • MySQL日志
  • kafka幂等生产者和事务生产者区别
  • RK3568+LINUX + CODESYS带授权+实时系统,同时开自己的视觉应用
  • 【算法】分支限界
  • [MySQL初阶]MySQL(7) 表的内外连接