题意:

输入一个正整数N(<=10),接着输入0~N-1每个结点的左右儿子结点,输出这颗二叉树的反转的层次遍历和中序遍历。

AAAAAccepted code:

 #define HAVE_STRUCT_TIMESPEC
#include<bits/stdc++.h>
using namespace std;
int a[][];
bool vis[];
void bfs(int r){
queue<int>q;
q.push(r);
cout<<r;
while(!q.empty()){
int now=q.front();
q.pop();
if(a[now][]!=-){
cout<<" ";
cout<<a[now][];
q.push(a[now][]);
}
if(a[now][]!=-){
cout<<" ";
cout<<a[now][];
q.push(a[now][]);
}
}
}
int flag=;
void dfs(int r){
if(a[r][]!=-)
dfs(a[r][]);
if(flag)
cout<<" ";
cout<<r;
flag=;
if(a[r][]!=-)
dfs(a[r][]);
}
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
for(int i=;i<;++i)
a[i][]=a[i][]=-;
int n;
cin>>n;
for(int i=;i<n;++i){
char x;
cin.ignore();
cin>>x;
cin.ignore();
if(x!='-')
a[i][]=x-'',vis[x-'']=;
char y;
cin>>y;
if(y!='-')
a[i][]=y-'',vis[y-'']=;
}
int root=;
for(int i=;i<n;++i)
if(!vis[i])
root=i;
bfs(root);
cout<<"\n";
dfs(root);
return ;
}

最新文章

  1. SharePoint 2013 配置HTTPS(SSL)
  2. MySQL按照汉字的拼音排序,mysql汉字排序
  3. 插件svn简单使用
  4. mysql ERROR1405 access deny 问题解决
  5. 【POJ】2117 Electricity
  6. 一张图说清Asp.NET MVC中的 RenderPage、RenderBody、RenderSection
  7. NSRunLoop原理详解——不再有盲点
  8. JQ实现选中以后就左右移动
  9. 异常处理器详解 Java多线程异常处理机制 多线程中篇(四)
  10. Nginx禁止IP直接访问网站
  11. 爬虫 - 动态分页抓取 游民星空 的资讯 - bs4
  12. 三. html&amp;JavaScript&amp;ajax 部 分
  13. conda常用命令总结
  14. 【svn】服务器搭建和迁移
  15. day29(对象转xml(使用java))
  16. Vue CLI 3 配置兼容IE10
  17. 用vs2012编译cocos2dx-3.9
  18. Task 4.3 求环形数组的最大子数组和
  19. ubuntu 14.04 (desktop amd 64) 查看配置参数
  20. perl6 登录phpmyadmin

热门文章

  1. IDEA构建maven项目生成的文件详解
  2. VTK坐标系统及视图分割
  3. ANDROID开发之问题积累及解决方案(四)
  4. 3ds Max File Format (Part 3: The department of redundancy department; Config)
  5. Atcoder Beginner Contest 156E(隔板法,组合数学)
  6. 用html5自带表单验证 并且用ajax提交的解决方法(附例子)
  7. 后台 - java 数组
  8. ORA_12514:TNS:listener does not currently know of service requested in connect descriptor
  9. 【牛客小白月赛21】NC201604 Audio
  10. UNICODE下CString转string