OJ题——二叉树(前序遍历)

news2024/11/26 12:28:51

🍬个人主页:Yanni.—

🌈数据结构:Data Structure.​​​​​​

🎂C语言笔记:C Language Notes

计算结点数

首先得算出这个结点有多少,不然数组的空间无法开辟出来。

利用递归算法,算出结点数。

int TreeSize(struct TreeNode* root)
 {
    return root == NULL ? 0 : TreeSize(root->left) + TreeSize(root->right) + 1;
 }

将数据并入数组 

也是利用递归,将数据写入数组里面

void prevorder(struct TreeNode*root,int* a,int* pi)
 {
    if(root == NULL)
    {
        return;
    }
    a[*pi] = root->val;
    ++(*pi);
    prevorder(root->left,a,pi);
    prevorder(root->right,a,pi);
 }

 返回最终结果

利用算出的结点数确定数组开辟的空间。最后函数调用得出结果。

int* preorderTraversal(struct TreeNode* root, int* returnSize) {
    int size = TreeSize(root);
    int* a = (int*)malloc(sizeof(int)*size);
    int i = 0;
    prevorder(root,a,&i);
    *returnSize = size;
    return a;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2045260.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

案例精选 | 某省级第二人民医院恶意外连监测与治理项目

某省级第二人民医院,是某省卫健委直属三级甲等医疗机构,一所集医疗、科研、教学、预防、保健为一体的大型现代化综合医院。医院设施设备先进,‌技术服务领先,‌现有开放床位1400余张,临床医技科室90余个。并且&#xf…

漏洞复现-K26-1开源-证书查询系统-任意文件读取

1 产品简介 某开源的证书查询系统不少平台在使用 2 漏洞概述 攻击者可以通过构造恶意的请求来利用该漏洞,从而读取或下载他们本来无权访问的文件,如密码、私钥、证书等,会提供攻击者更多可用信息,提高被入侵的风险。 3 复现环…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第五篇 文件系统构建篇-第七十九章 Ubuntu20文件系统

i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

如何进行数据中心的负载测试规划和设计

负载测试是数据中心规划和设计的重要组成部分,它可以帮助评估系统在高负载条件下的性能表现。以下是进行数据中心负载测试规划和设计的步骤: 1. 确定目标:首先,需要明确负载测试的目标。这可能包括评估系统的最大处理能力&#xf…

2024年省市县乡镇村行政边界矢量数据分享,数据获取在文末

今天给大家分享的是【2024乡镇区划矢量边界数据】!数据更新自2024年6月,同上一年对比乡镇数量有所调整。 现阶段的我国行政区划 行政区划的划分确实是为了更有效地进行行政管理和服务,使得国家的治理能够更加有序和高效。 行政区划的合理设定…

将ios 无线投屏至windows 10

尝试通过wsa安装乐播安桌盒子版, 没有成功,有帖为证, 但是却给win10带来了wsa的特性, 有帖为证: https://blog.csdn.net/weixin_62598385/article/details/141260431 尝试通过wsa安装乐播安桌盒子版, 没有成…

深入理解指针(五)

一、一维数组传参的本质 首先从一个问题开始&#xff0c;我们之前都是在函数外部计算数组的元素个数&#xff0c;那我们可以把数组传给一个函数后&#xff0c;在函数内部求数组的元素个数吗&#xff1f; 我们来看一下下面的代码&#xff1a; #include<stdio.h> void te…

springboot+JTA+atomikos多数据源分布式事务管理

一、项目需求 1、同时操作两个数据库&#xff0c;一个在本地服务器&#xff0c;一个在云服务器。 2、数据库数据是同步的&#xff0c;两个数据库同时做update、insert等操作时&#xff0c;无论哪个数据库操作失败&#xff0c;要求两个数据库数据同时回滚。 3、两个数据库均为SQ…

整理 酷炫 Flutter 优质 布局、交互 开源App

xtimer-flutter-app Flutter 计时器应用 项目地址&#xff1a;https://github.com/pedromassango/xtimer-flutter-app 项目Demo&#xff1a;https://download.csdn.net/download/qq_36040764/89631382

<数据集>骑行头盔识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;5026张 标注数量(xml文件个数)&#xff1a;5026 标注数量(txt文件个数)&#xff1a;5026 标注类别数&#xff1a;3 标注类别名称&#xff1a;[helmet, without_helmet, two_wheeler] 序号类别名称图片数框数1helm…

CCleaner Pro v6.26.11169 中文绿色便携版免安装 下载 Windows缓存清理 磁盘清理 注册表清理 大文件查找

可以清理系统和软件缓存&#xff0c;清理注册表&#xff0c;磁盘分析进行大文件查找 下载地址(资源制作整理不易&#xff0c;下载使用需付费&#xff0c;不能接受请勿浪费时间下载) 链接&#xff1a;https://pan.baidu.com/s/1XLi-J1h-G5xx8QBwXeFMcg?pwd2fen 提取码&#xf…

美股涨跌互现,半导体与科技股受关注

美股市场表现 昨夜&#xff0c;美股三大股指表现不一。道琼斯工业平均指数下跌0.36%&#xff0c;纳斯达克综合指数上涨0.21%&#xff0c;标准普尔500指数持平。科技股表现突出&#xff0c;其中英伟达股价上涨超过4%。债市方面&#xff0c;美国十年期国债收益率下跌至3.905%&am…

大语言模型(LLM)的SIO解构

引言: 大语言模型&#xff08;LLM&#xff09;作为现代人工智能领域的重要突破&#xff0c;已经在自然语言处理&#xff08;NLP&#xff09;中展现出了卓越的能力。这些模型通过深度学习算法和大规模数据训练&#xff0c;在多个语言任务中表现出接近人类的理解与生成能力&#…

七、2 ADC数模转换器有关函数介绍(Keil5)

函数介绍 &#xff08;1&#xff09;ADCCLK的配置函数&#xff08;在rcc.h中&#xff09; &#xff08;2&#xff09;ADC的库函数&#xff08;在adc.h中&#xff09;

将 Amazon SageMaker 机器学习模型与 QuickSight 集成。

增强使用 Amazon SageMaker 和 QuickSight 构建的机器学习模型的概述。 您是否曾想过如何以更简单的方式将 ML 预测添加到您的 BI 平台并分享给业务客户&#xff1f;别担心&#xff01;AWS ML Insights 的 SageMaker 增强型 QuickSight 之一可以满足您的需求&#xff01; 假设…

vue3 antdv3 Select 每行数据的最右侧增加一个x删除按钮,鼠标移上去显示,移走消失,并且点击可以删除当前行的数据。

1、先上个图&#xff0c;这个是实现的效果&#xff1a; 鼠标移动E所在的行&#xff0c;则E的最右侧显示一个x删除按钮&#xff0c;点击x按钮&#xff0c;可以删除当前的数据&#xff0c; 点击增加按钮&#xff0c;可以新增。 2、实现的代码&#xff1a; <Selectv-model:v…

栈与队列 - 用队列实现栈

225. 用队列实现栈 方法一&#xff1a;使用两个队列实现 var MyStack function() {this.queue1 [];this.queue2 []; };/** * param {number} x* return {void}*/ MyStack.prototype.push function(x) {this.queue1.push(x); };/*** return {number}*/ MyStack.prototype.p…

.net实战(VB):连接网页数据

先上效果图 在上程序 Public Sub SendPostRequest(aa As String)MessageBox.Show(sheet.Name)Dim token As StringDim xmlhttp As ObjectDim xmlhttp1 As ObjectDim url As StringDim jsonParams As StringDim response As Stringxmlhttp CreateObject("MSXML2.XMLHTTP&…

【Qt开发】多线程QThread(通过QObject::moveToThread)和QMutex互斥锁的配置和基本函数

【Qt开发】多线程QThread&#xff08;通过QObject::moveToThread&#xff09;和QMutex互斥锁的配置和基本函数 多线程 Qt官方给了两种方法连运行多线程函数 一种是直接用QThread的run()方法 还有一种就是继承QObject 用moveToThread方法去放到QThread里执行 在官方文档中 推…

6.MySQL的增删改查

目录 Create 单行插入数据 全列插入 多行数据指定列插入 插入否则更新 主键冲突 唯一键冲突 &#xff08;☆&#xff09; 替换数据 Retrieve Select列 全列查询 指定列查询 查询字段为表达式 where条件 NULL 的查询 NULL 和 NULL 的比较&#xff0c; 和 <>…