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

Leetcode刷题营第二十八题:二叉树的前序遍历

144. 二叉树的前序遍历

给你二叉树的根节点 root ,返回它节点值的 前序 遍历。

示例 1:

输入:root = [1,null,2,3]

输出:[1,2,3]

解释:

示例 2:

输入:root = [1,2,3,4,5,null,8,null,null,6,7,9]

输出:[1,2,4,5,6,7,3,8,9]

解释:

示例 3:

输入:root = []

输出:[]

示例 4:

输入:root = [1]

输出:[1]

提示:

  • 树中节点数目在范围 [0, 100] 内
  • -100 <= Node.val <= 100

注意:这里题目要求我们返回一个数组,数组是通过前序排列的元素。

算法思想:利用递归算法返回数组及数组大小-->我们之前学习过的二叉树的遍历

        但是这里我们在遍历的过程中需要把遍历的元素放入新数组中即可,同时要得到返回数组的大小,也就是要得到二叉树的大小,同样在二叉树的遍历我们也实现过。

在我们原本的前序遍历函数中往数组添加元素即可。

代码实现:

struct TreeNode {int _val;struct TreeNode *left;struct TreeNode *right;
};int Treesize(struct TreeNode* root){if(root == NULL){return 0;}return 1+Treesize(root->left)+Treesize(root->right);
}void PreOrder(struct TreeNode* root,int* array,int* index){if(root == NULL){return;};array[*index] = root->_val;(*index)++;PreOrder(root->left,array,index);PreOrder(root->right,array,index);
}int* preorderTraversal(struct TreeNode* root, int* returnSize) {if(root == NULL){*returnSize = 0;return NULL;}int size = Treesize(root);*returnSize = size;int* array = (int*)malloc(size*sizeof(int));int index = 0;PreOrder(root,array,&index);return array;
}

好了,本期分享的内容就到这里结束了。谢谢大家的点赞和支持!

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

相关文章:

  • Effective Python 条款7 用列表推导来取代map和filter
  • c++之 KMP 讲解
  • 网络原理 —— HTTP
  • 深入理解Collections.addAll方法
  • Python 离线安装 PyInstaller 的完整步骤(以python3.11.4-amd64.exe为例)
  • Trae IDE:打造完美Java开发环境的实战指南
  • 产品经理如何绘制服务蓝图(Service Blueprint)
  • 基于5G系统的打孔LDPC编码和均匀量化NMS译码算法matlab性能仿真
  • Oracle 成本优化器(CBO)与数据库统计信息:核心原理与实践
  • 线程(三) linux 同步
  • .NET Framework版本信息获取(ASP.NET探针),获取系统的.NET Framework版本
  • pycharm提交项目到github及问题解决
  • ubuntu基础搭建
  • 【Android代码】绘本翻页时通过AI识别,自动通过手机/pad朗读绘本
  • 基于单片机公交车报站系统/报站器
  • 分支和循环语句
  • Kotlin集合与空值
  • 使用位运算优化 Vue.js 应用:高效状态管理技巧
  • 学习 Flutter (四):玩安卓项目实战 - 中
  • 【LeetCode 热题 100】230. 二叉搜索树中第 K 小的元素——中序遍历
  • Java全栈面试实录:从电商支付到AIGC的深度技术挑战
  • HTML常用标签汇总(精简版)
  • Easy ARM2132
  • 测试学习之——Pytest Day3
  • 【git】使用教程
  • HTTP 状态码笔记
  • element-plus——图标推荐
  • milvus向量数据库连接测试 和 集合维度不同搜索不到内容
  • 嵌入式时钟系统
  • C++ 返回值优化(Return Value Optimization, RVO)