【每日OJ —— KY11 二叉树遍历】

每日OJ —— KY11 二叉树遍历

  • 1.题目:KY11 二叉树遍历
  • 2.解法
    • 2.1.算法讲解
    • 2.2.代码实现
    • 2.3.提交通过展示

1.题目:KY11 二叉树遍历

在这里插入图片描述

2.解法

2.1.算法讲解

1.首先需要创建二叉树结构。
2.其次,根据题目根据题目遍历的顺序要求来实现构建二叉树的函数接口,需要注意的是,再构建二叉树给数组存储数据的时候,数组的下标要用指针接收,否则再递归的时候会叠加越界。
3.接着实现最后中序遍历的函数接口。
4.最后,在主函数里定义二叉树的数据字符数组,然后输入数据,调用构建二叉树构建函数接口,构建二叉树,定义二叉树结构指针接受,构建的二叉树,接着调用最后的中序遍历的函数接口,实现最后的中序遍历打印。

2.2.代码实现

#include <stdio.h>
#include<stdlib.h>//创建二叉树结构
typedef struct TreeNode
{char str;struct TreeNode* left;struct TreeNode* right;}TreeNode;//根据题目遍历的顺序要求来构建二叉树
TreeNode* TreeGreate(char* a,int* pi)
{//此处再数组里存储数据的下标要用指针接收,否则再递归的时候会叠加越界if(a[*pi]=='#'||a[*pi]=='\0'){a[(*pi)++];return NULL;}TreeNode* root = (TreeNode*)malloc(sizeof(TreeNode));root->str=a[(*pi)++];root->left=TreeGreate(a,pi);root->right=TreeGreate(a,pi);return root;
}//中序遍历
void InOrder(TreeNode* root)
{if(root==NULL)return;InOrder(root->left);printf("%c ",root->str);InOrder(root->right);
}//主函数
int main() {char a[100];//定义字符数组int pi=0;scanf("%s",a); TreeNode* root = TreeGreate(a,&pi);//定义二叉树结构指针来接受构建的二叉树InOrder(root);//然后中序遍历return 0;
}

2.3.提交通过展示

在这里插入图片描述

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

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

相关文章

代码demo-内部订单批量投料

为了简化用户操作&#xff0c;开发内部订单批量投料功能 用户可以批量上传&#xff0c;或者选择对应的物料&#xff0c;输入库位和内部订单号后进行过账操作 对用户选择的内部订单做校验&#xff0c;内部订单是否正确 内部订单的公司是否和工厂对应的公司一致等等 下面展示…

Sui与阿联酋科技孵化器Hub71合作支持生态项目建设,扩大全球影响力

近日&#xff0c;总部位于阿联酋&#xff08; United Arab Emirates &#xff0c;UAE&#xff09;的科技孵化器Hub71宣布与Mysten Labs合作&#xff0c;将支持Sui上的新项目。通过本次合作&#xff0c;孵化项目的开发者们不仅可以获得Mysten Labs的技术专业知识和支持&#xff…

mysql多版本并发控制mvcc

MySQL 使用了多版本并发控制&#xff08;MVCC&#xff0c;Multi-Version Concurrency Control&#xff09;机制来处理并发修改。MVCC 提供了一种并发控制方式&#xff0c;允许多个事务同时读取和修改数据库&#xff0c;同时保持数据的一致性和隔离性。下面是 MySQL 中 MVCC 的一…

谷歌开发者账号防关联所用的VPS,哪个性价比最高?阿里云、腾讯云、亚马逊云、酷鸟云……

对于通过马甲包或矩阵方式在Google play应用商店发布应用的开发者而言&#xff0c;需要多个开发者账号来上架发布应用&#xff0c;但根据谷歌相关政策&#xff0c;不允许一个用户拥有或操弄多个账号&#xff0c;因此需要从各方面做好多账号的防关联工作&#xff0c;避免被谷歌系…

Flutter基础开发

参考:http://bbs.itying.com/topic/5cdb83b7fac8b00944a7a0c3 参考:https://www.bilibili.com/video/BV1S4411E7LY?p34&spm_id_frompageDriver 1.使用镜像 由于在国内访问Flutter有时可能会受到限制&#xff0c;Flutter官方为中国开发者搭建了临时镜像&#xff0c;大家可以…

SpringBoot整合MyBatis-Plus

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开心好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;…

【HTTP协议】简述HTTP协议的概念和特点

&#x1f38a;专栏【网络编程】 &#x1f354;喜欢的诗句&#xff1a;更喜岷山千里雪 三军过后尽开颜。 &#x1f386;音乐分享【如愿】 &#x1f970;欢迎并且感谢大家指出小吉的问题 文章目录 &#x1f33a;概念&#x1f33a;特点&#x1f384;请求协议&#x1f384;响应协议…

java第二十六课

数据库多表 多表做到每个表的字段名称不一样 Mysql 关系数据库 结合到商城&#xff1a;用户表 订单表 商品表 商品详情表 用户表:字段&#xff1a; 用户 id:唯一标志用户 用户名称&#xff1a;name 用户性别&#xff1a;sex 用户年龄:age 用户地址&#xff1a;position 用户密码…

C++相关闲碎记录(2)

1、误用shared_ptr int* p new int; shared_ptr<int> sp1(p); shared_ptr<int> sp2(p); //error // 通过原始指针两次创建shared_ptr是错误的shared_ptr<int> sp1(new int); shared_ptr<int> sp2(sp1); //ok 如果对C相关闲碎记录(1)中记录的shar…

【brpc学习实践十三】基于brpc的redis client的实现

brpc支持了redis协议,提供了相关redis访问接口,充分利用了bthread,可以坐到比hiredis更高效。 brpc redis与hiredis的对比 相比使用hiredis(官方client)的优势有: 线程安全。用户不需要为每个线程建立独立的client。支持同步、异步、批量同步、批量异步等访问方式,能使用…

智慧机场视频监控系统方案:AI智能助力机场智慧运营

一、方案背景 随着人们生活物质水平的上升&#xff0c;人们对机场的需求也日益增多&#xff0c;在民航新建、迁建、扩建机场项目猛增的同时&#xff0c;也需同步配备相应的安防监控系统&#xff0c;以满足民航机场安全管理要求和机场运营业务的高速发展。 二、方案概述 智慧机…

C# 适配器模式

适配器模式是一种结构型设计模式&#xff0c;它可以将一个或多个不兼容的接口适配成客户端期望的接口。在 C# 中&#xff0c;适配器模式通常采用类适配器或对象适配器的方式实现。 下面是一个简单的类适配器示例&#xff1a; 首先&#xff0c;定义一个客户端期望的目标接口&a…

【2023第十二届“认证杯”数学中国数学建模国际赛】A题 太阳黑子预报完整解题思路

A题 太阳黑子预报 题目任务思路分析第一问第二问第三问 题目 太阳黑子是太阳光球上的一种现象&#xff0c;表现为比周围区域更暗的临时斑点。它们是由于磁通量集中而导致表面温度降低的区域&#xff0c;磁通量的集中抑制了对流。太阳黑子出现在活跃区域内&#xff0c;通常成对…

MySQL 教程 1.4

MySQL 连接 使用mysql二进制方式连接 您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库。 实例 以下是从命令行中连接mysql服务器的简单实例&#xff1a; [roothost]# mysql -u root -p Enter password:****** 在登录成功后会出现 mysql> 命令提示窗…

Redis7--基础篇6(复制replica)

1. 复制(replica)介绍 Redis数据库支持主从复制&#xff0c;master以写为主&#xff0c;slave以读为主&#xff0c;当master数据变化的时候&#xff0c;自动将新的数据异步同步到slave数据库。 实现读写分离、容灾恢复、数据备份、水平扩容支撑高并发。 2. 案例演示 2.1 架构…

知虾如何选品丨如何使用知虾进行选品和优化策略

在Shopee平台上作为卖家&#xff0c;如何进行选品和优化策略是一个至关重要的问题。而知虾作为一个为Shopee卖家提供数据分析的工具&#xff0c;可以帮助您更好地进行选品和优化策略。在本文中&#xff0c;我们将介绍如何使用知虾进行选品&#xff0c;并提供一些建议和步骤。 知…

powershell获取微软o365 21v日志

0x00 背景 o365 21v为o365的大陆版本&#xff0c;主要给国内用户使用。微软提供了powershell工具和接口获取云上日志。微软o365国内的代理目前是世纪互联。本文介绍如何用powershell和配置证书拉取云上日志。 0x01 实践 第一步&#xff0c;ip权限开通&#xff1a; 由世纪互联…

enumerate函数(python)

enumerate()函数是Python内置函数之一&#xff0c;用于给可迭代对象&#xff08;如列表、元组、字符串等&#xff09;添加一个索引&#xff0c;并以迭代器的形式返回。 enumerate()函数的语法如下&#xff1a; enumerate(iterable, start0)参数说明&#xff1a; iterable&am…

MFC、VC++操作excel后,excel程序进程无法正常退出的非暴力处理方法

先说处理方式 1、最low的方式&#xff1a;强制结束进程 //打开进程得到进程句柄 HANDLE hProcessOpenProcess(PROCESS_ALL_ACCESS,FALSE,Pid); if(hProcess!NULL) { //结束进程 if (TerminateProcess(hProcess,0)){printf("结束进程成功\n");return 0;} }这种方式…

Linux中的Swap和Mem:有什么区别?

在Linux系统中&#xff0c;内存管理是操作系统的重要部分。在内存管理方面&#xff0c;Swap和Mem是两种不同的内存类型&#xff0c;它们在Linux系统中发挥着不同的作用。本文将解释Swap和Mem的区别以及它们在Linux系统中的作用。 一、Swap Swap是Linux系统中的交换分区&#…