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

leetcode刷题日记:94. Binary Tree Inorder Traversal(二叉树的中序遍历)

给出二叉树的根结点,返回二叉树的中序遍历序列。
二叉树的中序遍历序列是先遍历左子树再遍历根结点然后再遍历右子树,在遍历左子树是这个结点是左子树的根结点,左子树有左子树和根结点右子树,也就是说在遍历的时候我们要递归遍历。
在递归遍历中我们需要不断的进行分配空间与释放空间,然后我们在这个过程中不断的进行序列的合并,在合并的过程中需要我们注意的是合并的顺序是左子树、根结点、右子树,同时在合并之后要将合并后的returnSize计算出来。
在这一个二叉树的中序遍历中有一点那个归并排序的感觉,将问题分解成小问题后得到答案然后再答案合并,非常像,不知道大家有没有这一种感觉。

int * inorderTraversal(struct TreeNode * root, int *returnSize){if(root!=NULL){int *left = inorderTraversal(root->left, returnSize);int leftLength = *returnSize; int *right = inorderTraversal(root->right, returnSize);int rightLength = *returnSize;int num = leftLength + rightLength;int *answer = (int *)malloc(sizeof(int)*(num+1));int k = 0;for(int i=0; i<leftLength; i++){answer[k++] = left[i];}answer[k++] = root->val;for(int i=0; i<rightLength; i++){answer[k++] = right[i];}free(left);free(right);left = NULL;right = NULL;*returnSize = num+1;return answer;}*returnSize = 0;return NULL;
}

运行结果截图:
在这里插入图片描述

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

相关文章:

  • 【漏洞复现】Aapache_Tomcat_AJP协议_文件包含漏洞(CVE-2020-1938)
  • RabbitMQ消息可靠性投递
  • 汽车网络安全渗透测试概述
  • NOIP2023模拟14联测35 charlotte
  • 绿色科技和可持续发展技术
  • 建链时,please install openssl! use “openssl version“ command to check.
  • “Redis与Spring整合及缓存优化“
  • 腾讯云3年云服务器价格及购买教程
  • cortex-A7核 中断实验(按键中断实验)
  • .NET Framework中自带的泛型委托Action
  • DAIR-V2X-V 3D检测数据集 转为Kitti格式 | 可视化
  • 深入理解指针:【探索指针的高级概念和应用二】
  • 腾讯觅影数智医疗影像平台获颁世界互联网领先科技成果大奖
  • 鸿蒙开发工具DevEco Studio的下载和安装
  • 【原理篇】四、自定义starter
  • redisTemplate不支持zpopmax,解决方案使用reverseRangeWithScore
  • 基于深度模型的日志异常检测
  • 最大连续子数组
  • 【FastCAE源码阅读5】使用VTK实现鼠标拾取对象并高亮
  • 【全志H616 使用标准库 完成自制串口库(分文件实现) orangepi zero2(开源)】.md updata: 23/11/07
  • 小白学爬虫:手机app分享商品短连接获取淘宝商品链接接口|淘宝淘口令接口|淘宝真实商品链接接口|淘宝商品详情接口
  • python 应用之 request 请求调用
  • BeanUtils.copyProperties浅拷贝的坑你得知道?
  • ubuntu安装rabbitMQ 并 开启记录消息的日志
  • 思维模型 首因效应
  • Redis极速上手开发手册【Redis全面复习】
  • [动态规划] (十四) 简单多状态 LeetCode LCR 091.粉刷房子
  • 【VSS版本控制工具】
  • 数据持久化技术(Python)的使用
  • 第23章(上)_索引原理之索引与约束