Leetcode144. 二叉树的前序遍历-C语言

文章目录

题目介绍


题目分析

题目要求我们输出二叉树按前序遍历排列的每个节点的值。

解题思路

1.创建一个数组来储存二叉树节点的值

2.根据二叉树的大小来开辟数组的大小

c 复制代码
int Treesize(struct TreeNode* root)
{
    if(root==NULL)
    return 0;
    
    return 1+Treesize(root->left)+Treesize(root->right);
}

 int*new=(int*)malloc(sizeof(int)*Treesize(root));

3.边前序遍历边向创建的数组中存入二叉树节点的值

c 复制代码
void preorder(struct TreeNode* root,int*new,int*newsize)
{
    if(root==NULL)
    return;
    new[(*newsize)++]=root->val;
    preorder(root->left,new,newsize);
    preorder(root->right,new,newsize);
}

完整代码

c 复制代码
int Treesize(struct TreeNode* root)
{
    if(root==NULL)
    return 0;
    
    return 1+Treesize(root->left)+Treesize(root->right);
}

void preorder(struct TreeNode* root,int*new,int*newsize)
{
    if(root==NULL)
    return;
    new[(*newsize)++]=root->val;
    preorder(root->left,new,newsize);
    preorder(root->right,new,newsize);
}
int* preorderTraversal(struct TreeNode* root, int* returnSize) {
    int*new=(int*)malloc(sizeof(int)*Treesize(root));
   *returnSize=0;
 preorder(root,new,returnSize);
 return new;
}
相关推荐
姬公子5213 分钟前
leetcode hot100刷题日记——9.矩阵置零
算法·leetcode·矩阵
Tee xm21 分钟前
算法修仙传 第一章 灵根觉醒:数组基础与遍历
java·数据结构·算法·数组·遍历
Cherl.23 分钟前
C语言 贪吃蛇小游戏的实现
c语言·开发语言·链表·贪吃蛇
Susea&29 分钟前
初识C++:模版
c语言·开发语言·c++
一梦浮华1 小时前
自学嵌入式 day 23 - 数据结构 树状结构 哈希表
数据结构·算法·散列表
<但凡.1 小时前
C++修炼:红黑树的模拟实现
开发语言·数据结构·c++·算法
Raink老师1 小时前
数据结构——树
数据结构·算法
(❁´◡`❁)Jimmy(❁´◡`❁)1 小时前
1538. 【中山市第十一届信息学邀请赛决赛】互质(different)
算法·深度优先·图论
0xCC说逆向2 小时前
Windows逆向工程提升之IMAGE_EXPORT_DIRECTORY
开发语言·数据结构·windows·安全·网络安全·pe结构·逆向工程
好学且牛逼的马2 小时前
#6 百日计划第六天 java全栈学习
算法