当前位置: 首页 > 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.dtcms.com/a/285041.html

相关文章:

  • CSS关键字:initial、revert、unset傻傻分不清
  • 打造智慧园区新生态
  • Au速成班-乐理知识补充+网页下载音乐
  • 分层图最短路径算法详解
  • 大模型领域主流向量模型相似度算法、架构及指标对比
  • centos 新加磁盘分区动态扩容
  • 服务器数据恢复—raid5磁盘阵列崩溃如何恢复数据?
  • C 语言基础第 08 天:数组与冒泡排序
  • 测试学习之——Pytest Day3
  • Maven详细解
  • Helm-k8s包管理工具(一)核心概念、helm工作目录
  • 搞清MVCC
  • SpringMVC @ResponseBody注解详解
  • Postman接口测试实现UI自动化测试
  • 巧用 Golang 函数特性实现单元测试中的数据库操作 Mock
  • 使用Jmeter进行http接口性能测试
  • 可获得的最大点数
  • https与DNS的运行流程
  • 在ubuntu系统上搭建svn服务器的做法
  • 【分治思想解题框架】【分解、求解、合并】
  • 用图片生成高保真3D模型!Hi3DGen以法线为桥,为高清三维几何生成另辟蹊径
  • 记录timesfm2.0复现及调优
  • CAD model dataset 下载
  • 云徙科技----一面(全栈开发)
  • 学生信息管理案例
  • Linux操作系统之线程:线程概念
  • 常用API
  • 通过nginx 解决跨域问题
  • Selector的用法
  • 现在遇到一个问题 要使用jmeter进行压测 jmeter中存在jar包 我们还要使用linux进行发压,这个jar包怎么设计使用