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

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

文章目录

  • 题目介绍
  • 题目分析
  • 解题思路
    • 1.创建一个数组来储存二叉树节点的值
    • 2.根据二叉树的大小来开辟数组的大小
    • 3.边前序遍历边向创建的数组中存入二叉树节点的值
  • 完整代码

题目介绍

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

题目分析

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

解题思路

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;
}
http://www.lryc.cn/news/250847.html

相关文章:

  • dmesg命令在软件测试中的实际应用
  • 【渗透】记录阿里云CentOS一次ddos攻击
  • 前端面试提问(3)
  • fl studio21.2最新汉化中文完整版网盘下载
  • 差分数组相关知识点以及刷题
  • 使用 DMA 在 FPGA 中的 HDL 和嵌入式 C 之间传输数据
  • uniapp地图基本使用及解决添加markers不生效问题?
  • 使用系统ProgressBar实现三色进度条
  • Vue3中的组合式API的详细教程和介绍
  • Java后端开发——JDBC(万字详解)
  • python etree.HTML 以及xpath 解析网页的工具
  • 电机伺服驱动学习笔记(7)待编辑
  • 【云备份】业务处理
  • JVM GC算法
  • 对Spring框架的一些总结
  • C# WPF上位机开发(第一个应用)
  • 有点迷糊class和初始化参数的用法了
  • 如何选择一款安全稳定的跨境浏览器?
  • SQL Server 数据库,使用函数查询统计信息
  • mysql区分大小写吗
  • HarmonyOS 开发案例分享:万能卡片也能用来玩游戏
  • Could NOT find resource [logback-test.xml]
  • 11.28 C++作业
  • 126. 单词接龙 II
  • SpringBoot+SSM项目实战 苍穹外卖(2)
  • vue常见优化手段
  • vue3通过v-model实现父子组件通信
  • java设计模式学习之【桥接模式】
  • prometheus|云原生|kubernetes内部安装prometheus
  • 利用Python中的Manim进行数学绘画和创作