洛谷——P1305 新二叉树(新建二叉树以及遍历)

 

题目描述
输入一串二叉树,用遍历前序打出。

输入输出格式
输入格式:

 

第一行为二叉树的节点数n。(n \leq 26n≤26)

后面n行,每一个字母为节点,后两个字母分别为其左右儿子。

空节点用*表示

 

输出格式:

 

前序排列的二叉树

 

输入输出样例
输入样例#1: 复制
6
abc
bdi
cj*
d**
i**
j**
输出样例#1: 复制
abdicj

#include<bits/stdc++.h>
using namespace std;struct Node{char lch = '*';//左孩子 默认为* 表示没有char rch = '*';//右边的孩子 
}; 
bool vis[26];//判断有没有出现过 遍历的时候直接用了
bool isNotRoot[26];//判断是不是根如果出现了还是false那么就根
Node tree[29];//void build(char root,char left,char right){vis[root-'a']=true;if(left !='*'){tree[root-'a'].lch = left; isNotRoot[left-'a'] = true;//肯定不是根了 vis[left-'a'] = true;} if(right !='*'){tree[root-'a'].rch = right;isNotRoot[right-'a'] = true;//肯定不是根了 vis[right-'a'] = true;//出现过了 
    }
}
void pre(char root){//前序遍历 if(root=='*'){return;//如果是空的直接返回 
    }printf("%c",root);pre(tree[root-'a'].lch);pre(tree[root-'a'].rch);} 
int main(){int n = 0;scanf("%d",&n);for(int i = 0;i < n;i++){char num[4];scanf("%s",num);build(num[0],num[1],num[2]);//变成一二叉树了 
    } for(int i = 0;i<26;i++){//找到树根 if(vis[i]==true && isNotRoot[i]==false){pre(i+'a');break;        }}    printf("\n");return 0;
}

 

转载于:https://www.cnblogs.com/xiaonuolen/p/10284598.html

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

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

相关文章

插槽1单通道插槽2双通道_相机双存储卡插槽有什么大不了的?

插槽1单通道插槽2双通道If you paid any attention to the launch of Canon and Nikon’s first full frame mirrorless cameras—the EOS R, Z6, and Z7— you’d have noticed that some people were pretty unhappy that they only came with a single card slot—an SD slo…

python 垃圾回收详解

原文&#xff1a;https://zhuanlan.zhihu.com/p/31150408 总纲策略和垃圾回收系统工作内容引用计数详解标记-清除分代收集循环引用编程应用-常见方法ex 过程详解使用建议触发机制参考文献Python垃圾回收机制--完美讲解&#xff08;Python vs Ruby&#xff09;Python垃圾回收机制…

Django10:Ajax介绍/发送数据/SweetAlert

Ajax 异步提交 局部刷新 发送方式 1. 浏览器输入url&#xff0c;按enter get 2.a标签href属性 get 3.form表单 get/post 4. ajax get/post ajax 不是编程语言&#xf…

物联网数据终端演进之道

智能手机的普及在最近几年掀起了一股取代企业数据终端的风潮&#xff0c;但正如笔者在一年前便提到过 的&#xff0c;“智能手机难以在企业级应用中得以普及”&#xff0c;这种观点最好的佐证便是时至今日&#xff0c;由于安全性与管理合规的需要&#xff0c;个人计算机用于企业…

mac 不能连接wi-fi_如何阻止Mac自动连接到Wi-Fi网络

mac 不能连接wi-fiYour Mac automatically reconnects to Wi-Fi networks you’ve previously connected to. Starting with macOS High Sierra, you can now tell your Mac not to automatically connect to certain Wi-FI networks. Your Mac will remember the Wi-Fi networ…

“玩转课堂”基本构想

1、项目背景随着互联网科技的高速发展&#xff0c;人们的生活、学习和工作中的许多事情都可以借助互联网来完成&#xff0c;并且反响良好。作为学生&#xff0c;我们切身体会到&#xff0c;能够使用网络平台来进行学习可以节约时间、并且十分方便&#xff1b;而在老师的角度&am…

SQLServer之分离数据库

分离数据库注意事项 要求具有 db_owner 固定数据库角色中的成员资格。 可以分离数据库的数据和事务日志文件&#xff0c;然后将它们重新附加到同一或其他 SQL Server实例。 如果要将数据库更改到同一计算机的不同 SQL Server 实例或要移动数据库&#xff0c;分离和附加数据库会…

django11:自动序列化/批量插入数据/分页器

自动序列化 借助serializers帮你自动完成序列化 from app01 import models from django.core import serializers def ab_se(request):user_queryset models.Userinfo.objects.all()#原始方法user_list []for user_obj in user_queryset:user_list.append({username:user_o…

罗汉塔最少步骤_如何以最少的步骤压缩和密码保护文件?

罗汉塔最少步骤If you have a large batch of files to compress and you want to add password protection to each of them, what is the simplest or quickest way to do so? Today’s SuperUser Q&A post has the answer to a curious reader’s question. 如果要压缩…

IoTSharp中使用X509加密MQTT通讯并实现设备鉴权

IoTSharp支持MQTT协议通过 TLS 1.2 加密通讯&#xff0c; 并可以通过X509证书进行设备认证登录。基本配置在 appsettings.Production.json中需要 指定域名&#xff0c; 并设置EnableTls为true"MqttBroker":{"DomainName":"http://demo.iotsharp.net:2…

IBM希望其“裁剪”过的Swift能够引诱你使用BlueMix云

现在所有人都可以使用了——微软顶尖的工程师表示&#xff0c;“呼吸新鲜的空气吧&#xff01;” 据Stack Overflow的估计&#xff0c;Swift在最受欢迎的编程语言中排名第二&#xff0c;该语言已经出现在了IBM的BlueMix云平台之上&#xff0c;供所有人使用。 她从今年二月份开始…

物理层、数据链路层、介质访问控制子层

物理层 物理层定义了比特作为信号在信道上发送时相关的电气、时序和其它接口&#xff0c;物理层是构建网络的基础。数据通信理论基础&#xff1a;改变诸如电压或者电流等某种物理特性的方法可用来在电线上传输信息&#xff0c;如果用一个以时间t为自变量的单值函数 f(t) 来表示…

如何批量删除指定的GitHub Repos

正常情况下&#xff0c;如果需要删除GitHub上不需要的repos&#xff0c;手动删除的操作有点繁琐。如果只要删除一个还能接受&#xff0c;手动删除多个repos就有点浪费时间了。其实我们可以通过GitHub的API接口来批量删除不需要的repos。 将要删除的repos按照username\repos-nam…

django12:form 组件/渲染标签/数据校验/钩子函数/

基本用法 from django import forms# 自己写一个类 class RegForm(forms.Form):username forms.CharField(min_length3,max_length8, label"用户名")password forms.CharField(min_length3,max_length8,label"密码")emailforms.EmailField() 1.校验数据为…

如何快速拥有一个 Web IDE

本文将介绍如何使用 2-3 句指令在几分钟内创建一个 Web IDE 环境。服务器准备如何准备服务器可以参考上文 一键体验 Istio&#xff0c;这里只需要一台即可&#xff0c;示例中的服务器 IP 为&#xff1a;43.154.189.116安装 Web IDE下载安装工具在服务器上&#xff0c;执行以下指…

有了防火墙、IPS、WAF 还需要数据库审计?

本文讲的是 有了防火墙、IPS、WAF 还需要数据库审计&#xff1f;&#xff0c;“我们的网络安全系统中已经有了Web应用防火墙、网络防火墙和IPS&#xff0c;难道还需要数据库审计吗&#xff1f;”很多人有这样的疑问&#xff0c;网络中有层层防护&#xff0c;还不能保护数据库的…

20155339 Exp4 恶意代码分析

20155339 Exp4 恶意代码分析 实验后回答问题 &#xff08;1&#xff09;如果在工作中怀疑一台主机上有恶意代码&#xff0c;但只是猜想&#xff0c;所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些&#xff0c;用什么方法来监控。 监控网络连接。当某个…

Linux就该这么学---第七章(LVM逻辑卷管理器)

第七章节-LVM技术逻辑卷管理器(LVM,Logical Volume Manager)1.物理卷(PV,physical Volumn)2.卷组(VG,Volume Group)3.逻辑卷(LV,Logical Volume)基本单元[PE,Physical Extent] 物理卷处于LVM中的最底层&#xff0c;可以将其理解为物理硬盘、硬盘分区或者RAID磁盘阵列卷组建立在…

django13:Session与Cookie操作

Session与Cookie cookie 服务端保存在客户端浏览器上的信息都可以教cookie 表现形式一般是k:v键值对&#xff08;可以多个&#xff09; 优化&#xff1a; 随机字符串1&#xff1a;用户1相关信息 随机字符串2&#xff1a;用户2相关信息 session 数据是保存在服务端 表现形…

从Windows XP升级? 这是您需要了解的Windows 7

With Windows XP reaching the end of its long support life, many businesses and individuals are avoiding Windows 8 and upgrading to Windows 7 instead. If you’re a latecomer to Windows 7, here are the basics you need to know. 随着Windows XP使用寿命的延长&am…