http://acm.hdu.edu.cn/showproblem.php?pid=1710

题意:给二叉树的先序遍历和中序遍历,确定后序遍历

解法:复习专业课找的一题,根据先序遍历和中序遍历建树,再对树做后序遍历

#include <iostream>
#include <cstdio> using namespace std; struct Tree {
Tree *lc, *rc;
int data;
}; Tree *Create(int *preorder, int *inorder, int n) {
for(int i = ; i < n; i++) {
if(preorder[] == inorder[i]) {
Tree *node = (Tree*)malloc(sizeof(Tree));
node -> data = preorder[];
node -> lc = Create(preorder+, inorder, i);
node -> rc = Create(preorder+i+, inorder+i+, n-i-);
return node;
}
}
return NULL;
} int rt; void PostOrder(Tree *root) {
if(root != NULL) {
PostOrder(root -> lc);
PostOrder(root -> rc);
if(root -> data == rt)
printf("%d\n", root->data);
else
printf("%d ", root->data);
}
} Tree *root;
int preorder[], inorder[]; int main() {
int n;
while(~scanf("%d", &n)) {
for(int i = ; i < n; i++)
scanf("%d", &preorder[i]);
for(int i = ; i < n; i++)
scanf("%d", &inorder[i]);
root = NULL;
rt = preorder[];
root = Create(preorder, inorder, n);
PostOrder(root);
}
return ;
}

HDU 1710的更多相关文章

  1. HDU 1710 二叉树遍历,输入前、中序求后序

    1.HDU  1710  Binary Tree Traversals 2.链接:http://acm.hust.edu.cn/vjudge/problem/33792 3.总结:记录下根结点,再拆分 ...

  2. HDU 1710 Binary Tree Traversals(二叉树)

    题目地址:HDU 1710 已知二叉树先序和中序求后序. #include <stdio.h> #include <string.h> int a[1001], cnt; ty ...

  3. hdu 1710 二叉树的遍历

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1710 大意:给出一个二叉树的前序和中序,求其后序遍历 ps:1.在写链表时,需要写明typedef str ...

  4. 【二叉树】hdu 1710 Binary Tree Traversals

    acm.hdu.edu.cn/showproblem.php?pid=1710 [题意] 给定一棵二叉树的前序遍历和中序遍历,输出后序遍历 [思路] 根据前序遍历和中序遍历递归建树,再后续遍历输出 m ...

  5. hdu 1710 Binary Tree Traversals 前序遍历和中序推后序

    题链;http://acm.hdu.edu.cn/showproblem.php?pid=1710 Binary Tree Traversals Time Limit: 1000/1000 MS (J ...

  6. HDU 1710 二叉树的遍历 Binary Tree Traversals

    Binary Tree Traversals Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O ...

  7. HDU 1710 Binary Tree Traversals (二叉树遍历)

    Binary Tree Traversals Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O ...

  8. HDU 1710 Binary Tree Traversals(树的建立,前序中序后序)

    Binary Tree Traversals Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O ...

  9. HDU 1710 Binary Tree Traversals(二叉树遍历)

    传送门 Description A binary tree is a finite set of vertices that is either empty or consists of a root ...

随机推荐

  1. <c:forEach>循环list,一个表格两列数据

    参考: http://zhidao.baidu.com/link?url=apG5dUmW7RjB5eOYKSWOWdKd7nxFpkDO4n3i8R6MWYKl7E2JC1OCtPILF4G4EUO ...

  2. visio个人专注

    字体颜色 1 填充 2 标注 3 箭头 4 线条 5 粗细 6

  3. Windows Phone 10如何借Windows 10的东风

    距微软发布Windows Phone 7已经四年多了,WinPhone的市场份额一直萎糜不前.去年微软收购诺基亚,如特洛伊木马般戏剧,却没有挽救WinPhone,甚至出现下滑,已经不足3%,已经基本被 ...

  4. [转载]tslib1.4与Qt4.8.6的交叉编译与移植

    原文:http://www.cnblogs.com/Jasonsblog/p/3757985.html http://blog.csdn.net/sno_guo/article/details/168 ...

  5. c#文本框限制输入内容

         //限制输入不能为中文和全角         private void zhbh_KeyPress(object sender, KeyPressEventArgs e)         { ...

  6. JavaEE MyBatis

    1.  简介 MyBatis本是apache的一个开源项目iBatis的升级版,2013年11月迁移到Github,是三层架构中持久层框架. 目前提供了Java..NET.以及Ruby三种语言实现的版 ...

  7. Struts2_三种传参数方法

    1.通过属性传参数(Attr)UserAction.java package com.bebig.struts2.user.action;import com.opensymphony.xwork2. ...

  8. Win8 传统桌面下无法上网的解决方法

    Win8 很酷,就连出现的问题也都酷得不行~ 之前遇到的一些问题与解决方法,避免重新安装 1. Word 2013下, 输入法突然秀逗, 经常按了一个键后, 死循环输入该字符直到死机 解决方法: 进入 ...

  9. C++学习进度0

    昨天,又把<C++ primer> 刷了一遍,这一次看的是陈硕大大的评注版,重点看了陈硕的注释,<Accelerated C++>去年就把代码巧了一遍,<C++ prim ...

  10. ShellShock 攻击实验

    一. 实验描述 2014年9月24日,Bash中发现了一个严重漏洞shellshock,该漏洞可用于许多系统,并且既可以远程也可以在本地触发.在本实验中,学生需要亲手重现攻击来理解该漏洞,并回答一些问 ...