每日一题(L2-011):玩转二叉树--建树+层序遍历

与L2-006近乎相同,先建树,然后遍历

#include<bits/stdc++.h>
using namespace std;
int in[35];
int pre[35];
typedef struct Tree{int num;Tree* left;Tree* right;
}T;T * build(int in1,int in2,int pre1,int pre2){T * t=new T;t->num=pre[pre1];int key=pre[pre1];int i=0;for(i=in1;i<=in2;i++){if(in[i]==key){break;}}int num_node=i-in1;if(i!=in1){t->left=build(in1,i-1,pre1+1,pre1+num_node);}if(i!=in2){t->right=build(i+1,in2,pre1+num_node+1,pre2);}return t;
}
void visit(T * t){if(t == NULL){return ;}queue<T*> q;q.push(t);while(!q.empty()){T* tt=q.front();cout<<tt->num;if(tt->right  != NULL){q.push(tt->right);}if(tt->left  != NULL){q.push(tt->left);}q.pop();if(!q.empty()){cout<<' ';}}}
int main(){int n;cin>>n;for(int i=0;i<n;i++){cin>>in[i];}for(int i=0;i<n;i++){cin>>pre[i];}T * root=build(0,n-1,0,n-1);visit(root);return 0;
}

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

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

相关文章

西宁市初中生地会考报名照片尺寸要求及手机自拍方法

西宁市初中生地会考即将到来&#xff0c;对于参加考试的同学们来说&#xff0c;准备一张符合规格的报名照片是整个报名流程中不可或缺的一环。一张规范的证件照不仅展示了学生的精神面貌&#xff0c;同时也是顺利报名的重要条件之一。本文将详细介绍西宁市初中生地会考报名所需…

C#Task<T>应用详解

C# 中的 Task< T> 是一个非常强大的并发编程工具&#xff0c;它允许我们异步执行操作并返回一个结果。在这篇博客中&#xff0c;我们将详细介绍 Task< T> 的应用&#xff0c;包括它的基本概念、创建方式、等待和取消等操作&#xff0c;以及一些常见的使用场景。 基…

LLM长度外推理论与实践

定义&#xff1a; 长度外推&#xff0c;即免训练长度外推&#xff0c;就是不需要用长序列数据进行额外的训练&#xff0c;只用短序列语料对模型进行训练&#xff0c;就可以得到一个能够处理和预测长序列的模型&#xff0c;即“Train Short, Test Long”。 判断方法&#xff1…

【论文源码实战】轻量化MobileSAM,分割一切大模型出现,模型缩小60倍,速度提高40倍

前言 MobileSAM模型是在2023年发布的&#xff0c;其对之前的SAM分割一切大模型进行了轻量化的优化处理&#xff0c;模型整体体积缩小了60倍&#xff0c;运行速度提高40倍&#xff0c;但分割效果却依旧很好。 MobileSAM在使用方法上沿用了SAM模型的接口&#xff0c;因此可以与…

Java对象克隆-浅拷贝与深拷贝

目录 1、对象的克隆 1.1 对象的浅拷贝 1.2 对象深拷贝 1、对象的克隆 1.1 对象的浅拷贝 在实际编程过程中&#xff0c;我们常常要遇到这种情况&#xff1a;有一个对象A&#xff0c;在某一时刻A中已经包含了一些有效值&#xff0c;此时可能会需要一个和A完全相同新对象B&am…

单页面应用使用Nginx部署页面路由直接访问404问题

使用Nginx发布单页面应用时候&#xff0c;因为只有一个index.html页面可能导致直接访问具体页面路由报404错误&#xff0c;如&#xff1a; 直接访问http://www.test.com正常 访问http://www/test.com/system/list 则报404 需要修改nginx配置让其所有未找到资源都返回到index.h…

论婚恋相亲交友软件的市场前景和开发方案H5小程序APP源码

随着移动互联网的快速发展和社交需求的日益增长&#xff0c;婚恋相亲交友软件小程序成为了越来越多单身人士的选择。本文将从市场前景、使用人群、盈利模式以及竞品分析等多个角度&#xff0c;综合论述这一领域的现状与发展趋势。 一、市场前景 在快节奏的现代生活中&#xf…

得物sign参数逆向分析与Python算法还原

文章目录 1. 写在前面2. 接口分析3. 断点分析4. Python算法还原 【&#x1f3e0;作者主页】&#xff1a;吴秋霖 【&#x1f4bc;作者介绍】&#xff1a;擅长爬虫与JS加密逆向分析&#xff01;Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚…

Postman调用OpenApi接口

首先你需要科学上网。。。。。 请求方式&#xff1a;post 请求地址&#xff1a;https://api.openai.com/v1/chat/completions 请求头&#xff1a; Authorization : Bearer key Content-Type : application/json Body : { "messages": [{ "role": &quo…

【论文精读】Bag of Tricks for Image Classification with Convolutional Neural Networks

这篇文章比较早了&#xff0c;2018年的 摘要 最近在图像分类研究方面取得的大部分进展可以归功于训练程序的改进&#xff0c;如数据增强和优化方法的改变。然而&#xff0c;在文献中&#xff0c;大多数改进要么作为实现细节简要提到&#xff0c;要么只在源代码中可见。在本文中…

JAVA 集合框架(四) Map集合详解和常用方法

Map集合是Java集合框架中的一个重要组成部分&#xff0c;它以键值对&#xff08;key-value pairs&#xff09;的形式存储数据。Map集合中的每个键都是唯一的&#xff0c;因此它不允许键的重复&#xff0c;而每个键可以关联一个值&#xff0c;同一键可以对应不同的值&#xff08…

Led驱动程序

Led驱动程序 前几篇写的程序并没有真正控制什么硬件设备,接下来我们编写第一个真正用于控制硬件的驱动程序,Led驱动。 本质上来说无论裸机程序还是linux驱动程序目前都是在2440上运行的,要控制led,自然少不了操作2440的相关寄存器。 在编写驱动之前,我们需要先简单了解一…

CV method:最新Backbone---TransNeXt

文章目录 前言一、提出问题二、模型结构1. Pixel-focused Attention&#xff08;像素聚焦注意力机制&#xff09;2. Aggregating Diverse Attentions in a Single Mixer Query embedding3. ConvGLU4. 整体模型架构 三、方法论1. PFA设计原理2. Aggregating Diverse Attention原…

前端从零到一搭建脚手架并发布到npm

这里写自定义目录标题 一、为什么需要脚手架&#xff1f;二、前置-第三方工具的使用1. 创建demo并运行-4步新建文件夹 zyfcli&#xff0c;并初始化npm init -y配置入口文件 2.commander-命令行指令3. chalk-命令行美化工具4. inquirer-命令行交互工具5. figlet-艺术字6. ora-lo…

【JS】JSON把我的function搞丢了怎么办?深入理解与灵活运用 JSON 序列化与反序列化

引言 在日常开发中&#xff0c;我们经常遇到需要将 JavaScript 对象转化为 JSON 字符串进行传输或者持久化存储的情况&#xff0c;这时 JSON.stringify() 和 JSON.parse() 成为了我们的得力助手。然而&#xff0c;原生的 JSON 序列化并不能处理函数、日期、正则等非基础类型数…

ARM Cortex-M处理器中的SysTick定时器简介

ARM Cortex-M处理器中的SysTick是一个内部的系统定时器&#xff0c;它提供了一种简单而有效的方式来生成定时的中断请求。SysTick定时器是一个24位的下计数定时器&#xff0c;它可以配置为周期性地产生中断&#xff0c;这些中断可以用于操作系统的任务调度、性能测量、时间延迟…

String类比较方法全览:深入解析equals、compareTo与regionMatches

1. 概述 String类的比较方法主要用于判断两个字符串是否相等&#xff0c;或者比较它们的字典顺序。这些方法在编程中十分常见&#xff0c;特别是在处理文本数据、比较用户输入、排序字符串列表等场景中。 2. 用途 String类的比较方法的主要用途包括&#xff1a; 判断两个字符…

【算法】合并两个有序链表

本题来源---《合并两个有序链表》 题目描述 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a; 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4] /*** Definition for singl…

C++ - STL详解—vector类

一. vector的概念 向量&#xff08;Vector&#xff09;是一个封装了动态大小数组的顺序容器&#xff08;Sequence Container&#xff09;。跟任意其它类型容器一样&#xff0c;它能够存放各种类型的对象。可以简单的认为&#xff0c;向量是一个能够存放任意类型的动态数组。 …

win/mac达芬奇19下载:DaVinci Resolve Studio 19

DaVinci Resolve Studio 19 是一款功能强大的视频编辑和调色软件&#xff0c;广泛应用于电影、电视和网络节目的后期制作。这款软件不仅提供了专业的剪辑、调色和音频处理工具&#xff0c;还引入了全新的DaVinci Neural Engine AI工具&#xff0c;对100多项功能进行了大规模升级…