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

题目介绍

在这里插入图片描述
在这里插入图片描述

题目分析

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

解题思路

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

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

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.边前序遍历边向创建的数组中存入二叉树节点的值

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 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;
}

相关推荐

  1. leetcode144--

    2023-12-08 16:28:02       12 阅读
  2. leetcode 144.

    2023-12-08 16:28:02       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-08 16:28:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-08 16:28:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-08 16:28:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-08 16:28:02       20 阅读

热门阅读

  1. 一文详解:什么是https 加密协议?

    2023-12-08 16:28:02       35 阅读
  2. GO设计模式——5、建造者模式(创建型)

    2023-12-08 16:28:02       27 阅读
  3. 写一个简单的达梦数据库巡检脚本

    2023-12-08 16:28:02       37 阅读
  4. 服务器配置 jupyter lab,并在本地浏览器免密登陆

    2023-12-08 16:28:02       39 阅读