SDUT 2137 数据结构实验之求二叉树后序遍历和层次遍历
来源:互联网 发布:php微信开发教程视频 编辑:程序博客网 时间:2024/06/07 08:35
**数据结构实验之求二叉树后序遍历和层次遍历**
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
已知一棵二叉树的前序遍历和中序遍历,求二叉树的后序遍历。
输入
输入数据有多组,第一行是一个整数t (t<1000),代表有t组测试数据。每组包括两个长度小于50 的字符串,第一个字符串表示二叉树的先序遍历序列,第二个字符串表示二叉树的中序遍历序列。
输出
每组第一行输出二叉树的后序遍历序列,第二行输出二叉树的层次遍历序列
示例输入
2
abdegcf
dbgeafc
xnliu
lnixu
示例输出
dgebfca
abcdefg
linux
xnuli
代码::
#include <bits/stdc++.h>using namespace std;struct node{ int data; node *l,*r;}*q[110];struct node *creat(char *s,char *a,int len){ if(len <= 0) return NULL; node *head = new node; head->l = NULL; head->r = NULL; head->data = *s; int p = strchr(a,*s) - a; head->l = creat(s+1,a,p); head->r = creat(s+p+1,a+1+p,len-p-1); return head;}void post(node *head){ if(head) { post(head->l); post(head->r); printf("%c",head->data); }}void cenci(node *head){ int e = 0; int s = 0; q[s++] = head; while(s > e) { head = q[e++]; printf("%c",head->data); if(head->l) q[s++] = head->l; if(head->r) q[s++] = head->r; }}int main(){ std::ios::sync_with_stdio(false); int n; char s[51],a[51]; while(cin>>n) { while(n--) { cin>>s>>a; int len = strlen(s); node *head = creat(s,a,len); post(head); printf("\n"); cenci(head); printf("\n"); } } return 0;}
0 0
- SDUT 2137 数据结构实验之求二叉树后序遍历和层次遍历
- SDUT 2137 数据结构实验之求二叉树后序遍历和层次遍历
- sdut 2137 数据结构实验之求二叉树后序遍历和层次遍历
- SDUT 2137 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历 SDUT
- 数据结构实验之求二叉树后序遍历和层次遍历 (sdut oj2137)
- sdut oj2137 数据结构实验之求二叉树后序遍历和层次遍历
- SDUT-数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 如何为PreferenceScreen分别设置窗口背景图片和actionBar背景图片/拖动时不黑屏
- 内置对象
- Merge k Sorted Lists
- 使用菜单-3种方式
- 结构体内存对齐
- SDUT 2137 数据结构实验之求二叉树后序遍历和层次遍历
- python 安装 ghosts
- Linux-磁盘的分区、格式化、挂载
- mysqldump --flush-logs
- ssl双向认证部署+如何吊销证书
- leetcode016 017
- 连续子数组的最大和
- Android MediaPlayer使用方法简单介绍
- ibatis like 用法,各数据库的安全拼接方法