【C++】满二叉树问题

/*
给出一棵满二叉树的先序遍历,有两种节点:字母节点(A-Z,无重复)和空节点(#)。要求这个树的中序遍历。输出中序遍历时不需要输出#。
满二叉树的层数n满足1<=n<=5。Sample Input:
ABC#D#ESample Output:
CBADE
*/
#include<cstdio>
#include<cmath>
#include<cstring>
#include<iostream>
using namespace std;
const int M=1024;
char data[M];
int layer;struct node
{char data;struct node *l;struct node *r;
};void build(node * & t,int l)
{if(l>layer)return ;int i=0;while(data[i]=='\0')i++;char tc=data[i];//cout<<i<<endl<<tc<<endl;
    data[i]='\0';if(tc=='#'){t=NULL;return ;}t=new node();t->data=tc;build(t->l,l+1);build(t->r,l+1);
}void display(node *t)
{if(t==NULL)return ;display(t->l);printf("%c",t->data);display(t->r);
}int main()
{/*printf("%d\n",(int)(log(8)/log(2)));printf("%f\n",(log(7)/log(2)));*/memset(data,'\0',sizeof(data));while(scanf("%s",&data)){//printf("%s\n",data);int n=strlen(data)+1;/*if(log(n)/log(2)>(int)(log(n)/log(2)))layer=(int)(log(n)/log(2))+1;else*/layer=(int)(log(n)/log(2));//printf("%d\n",layer);node *tree;build(tree,1);display(tree);}return 0;
}

 

 

tz@HZAU

2019/3/13

转载于:https://www.cnblogs.com/acm-icpcer/p/10525989.html

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

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

相关文章

NativeScript - JS 构建跨平台的原生 APP

使用 NativeScript&#xff0c;你可以用现有的 JavaScript 和 CSS 技术来编写 iOS、Android 和 Windows Phone 原生移动应用程序。由原生平台的呈现引擎呈现界面而不是 WebView&#xff0c;正因为如此&#xff0c;应用程序的整个使用体验都是原生的。 NativeScript 使您可以使用…

java乱码base64,解决 JAVA WebSocket 解析 base64 后中文字符串乱码

解决 JAVA WebSocket 解析 base64 后中文字符串乱码解决 JAVA WebSocket 解析 base64 后中文字符串乱码春风如贵客&#xff0c;一到便繁华。各位看官先赞再看&#xff0c;养成好习惯(●?&#xff40;●)前言&#xff1a;项目基于WebSocket实现了一个功能&#xff0c;其中要接受…

Riot - 比 Facebook React 更轻量的 UI 库

Riot 是一个类似 Facebook React 的用户界面库&#xff0c;只有3.5KB&#xff0c;非常轻量。支持IE8 浏览器的自定义标签&#xff0c;虚拟 DOM&#xff0c;语法简洁。Riot 给前端开发人员提供了除 React 和 Ploymer 之外的新选择&#xff0c;值得一试。 在线演示 源码下载…

FormatJS – 让你的 Web 应用程序国际化

FormatJS 是一个模块化的集合&#xff0c;保护各种 JavaScript 国际化库&#xff0c;例如格式化数字&#xff0c;日期和字符串。它包括一组建立在 JavaScript 的国际内置插件和全行业的国际化标准&#xff0c;再加上一套集成的通用模板和组件库。 在线演示 源码下载 您可能…

Javascript执行上下文和执行栈

什么是执行上下文&#xff1f; 执行上下文就是当前JavaScript代码被解析和执行时所在环境的抽象概念&#xff0c;JavaScript中运行任何的代码都是在执行上下文。 什么是执行栈&#xff1f; 执行栈&#xff0c;在其他编程语言中也被叫做调用栈&#xff0c;具有LIFO&#xff08;后…

基于swagger进行接口文档的编写

0. 前言 近期忙于和各个银行的代收接口联调&#xff0c;根据遇到的问题&#xff0c;对之前编写的接口进行了修改&#xff0c;需求收集和设计接口时想到了方方面面&#xff0c;生产环境下还是会遇到意想不到的问题&#xff0c;好在基本的执行逻辑已确定&#xff0c;因此只是对接…

Hyhyhy – 专业的 HTML5 演示文稿工具

Hyhyhy 是创建好看的 HTML5 演示文档的工具。它具备很多的特点&#xff1a;支持 Markdown&#xff0c;嵌套幻灯片&#xff0c;数学排版&#xff0c;兼容性&#xff0c;语法高亮&#xff0c;使用 Javascript API &#xff0c;方便的骨架。它支持 Firefox 2 , Safari 3 , Opera 9…

Java开发知识之Java的枚举

Java开发知识之Java的枚举 一丶什么是枚举 枚举可以理解为就是常量,在Java中我们定义常量.都是用 final语句. C中都是用const关键字. 枚举跟C概念都是一样的.就是特定的常量而已. 二丶Java中的枚举 java中的常量.一般都是final定义.但是我们讲过.final定义的常量.初始化的时候可…

linux php7 mongodb,CentOS 7下安装配置PHP7跟LAMP及MongoDB和Redis

CentOS 7下安装配置PHP7跟LAMP及MongoDB和Redis我是想能yum就yum&#xff0c;所有软件的版本一直会升级&#xff0c;注意自己当时的版本是不是已经更新了。首先装CentOS 7装好centos7后默认是不能上网的cd /etc/sysconfig/network-scripts/找到形如ifcfg-enp0s3的文件&#xff…

基于 Bootstrap 的响应式后台管理面板

你想建立一个后台管理面板或者分析仪表板吗&#xff1f;不需从头开始&#xff0c;Keen IO Bootstrap 是一个响应式的仪表盘模板&#xff0c;可以帮助你在几分钟内呈现数据&#xff0c;让你可以创建一个有吸引力的&#xff0c;定制的分析仪表板&#xff0c;随时可以展现给你的团…

sparkstreaming监听hdfs目录_大数据系列之Spark Streaming接入Kafka数据

Spark Streaming官方提供Receiver-based和Direct Approach两种方法接入Kafka数据&#xff0c;本文简单介绍两种方式的pyspark实现。1、Spark Streaming接入Kafka方式介绍Spark Streaming 官方提供了两种方式读取Kafka数据&#xff1a;一是Receiver-based Approach。该种读取模式…

时间服务器

时间服务器配置&#xff1a; 1 安装软件包: [rootlocalhost ~]# yum install ntp –y 2 修改配置文件 [rootlocalhost ~]# vim /etc/ntp.conf # 允许内网其他机器同步时间 192.168.1.0该网段 restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap 允许任何ip的客户机都可以…

使用 HTML5 Canvas 绘制出惊艳的水滴效果

HTML5 在不久前正式成为推荐标准&#xff0c;标志着全新的 Web 时代已经来临。在众多 HTML5 特性中&#xff0c;Canvas 元素用于在网页上绘制图形&#xff0c;该元素标签强大之处在于可以直接在 HTML 上进行图形操作&#xff0c;具有极大的应用价值。 这里分享一个惊艳的 Canva…

mysql 字符串类型 char varchar

字符类型用在存储名字、邮箱地址、家庭住址等描述性数据 char指的是定长字符&#xff0c;varchar指的是变长字符 #官网&#xff1a;https://dev.mysql.com/doc/refman/5.7/en/char.html #注意&#xff1a;char和varchar括号内的参数指的都是字符的长度#char类型&#xff1a;定长…

二叉树遍历规则

树的遍历顺序大体分为三种&#xff1a;前序遍历&#xff08;先根遍历、先序遍历&#xff09;&#xff0c;中序遍历&#xff08;中根遍历&#xff09;&#xff0c;后序遍历&#xff08;后根遍历&#xff09;。 如图所示二叉树&#xff1a; 前序遍历&#xff1a;前序遍历可以记为…

php网页的注册界面设计,HTML开发博客之注册页面设计(一)

CSS文件的引入新建文件reg.html文件首先我们来分析网页布局这是我们页面完成后的效果&#xff0c;网页分为三部分头部&#xff0c;主体&#xff0c;和底部我们按照这个顺序开始编写。头部导航栏的编写html>用户注册页面首页科技资讯心情随笔资源收藏图文图片留言板登陆/注册…

Arctext.js - 基于 CSS3 jQuery 的文本弯曲效果

Arctext.js 是基于 Lettering.js 的文本旋转插件&#xff0c;根据设置的旋转半径准确计算每个字母的旋转弧度并均匀分布。虽然 CSS3 也能够实现字符旋转效果&#xff0c;但是要让安排每个字母都沿着弯曲路径排布相当的复杂&#xff0c;结合 Arctext.js 则可以轻松实现这个效果。…

在JDT中使用Java 8 Lambda

旧 Curmudgeon 认识Smalltalk的Dude 在修改Eclipse Java开发工具 &#xff08;JDT&#xff09;项目正在开发的Java 8支持时&#xff0c;我一直在使用这种语言。 我承认我对Java 8中的lambda有点不满意。 当然&#xff0c;这来自于知道Smalltalk &#xff08;和LISP / Schem…

zabbix邮件告警

zabbix邮件告警调用第三方邮件服务来发送邮件。 [roottiandong ~]# yum install mailx -y 修改配置文件 [roottiandong ~]# vim /etc/mail.rc 67 set from15600857257163.com smtpsmtp.163.com 68 set smtp-auth-user15600857257163.com 69 set smtp-auth-password密码&#xf…

SweetAlert – 替代 Alert 的漂亮的提示效果

Sweet Alert 是一个替代传统的 JavaScript Alert 的漂亮提示效果。SweetAlert 自动居中对齐在页面中央&#xff0c;不管您使用的是台式电脑&#xff0c;手机或平板电脑看起来效果都很棒。另外提供了丰富的自定义配置选择&#xff0c;可以灵活控制。 在线演示 插件下载 您可…