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. Android笔记——在布局文件中插入另一个布局文件

    假如有一个布局文件A.xml想把另外一个布局文件B.xml引进其布局,则可以通过下面的代码 <include layout="@layout/B" />

  2. 在heroku上部署gost代理服务端

    gost ( https://github.com/ginuerzh/gost ) gost 的 websocket tunnel 功能使用 WebSocket 协议,相较 HTTP 协议能做更多事, ...

  3. hammer.js实现背景图手势缩放调整位置

    <!DOCTYPE html> <html> <head> <script> function getxy(e){ var a=new Array() ...

  4. excel导出

    查询的结果结 List list  = commissionMService.getMapper().meishengExport(paramMap); // 第一步,创建一个webbook,对应一个 ...

  5. StormNimbus集群保证CAP流程

    Nimbus启动时,检查当前本地是不是有所有的topology的代码,同时去申请获取leader锁,如果某台nimbus节点成为了集群的leader,会再去检查一次当前本地的代码是不是包含所有活动状态 ...

  6. storm启动过程之源码分析

    TopologyMaster: 处理拓扑的一些基本信息和工作,比如更新心跳信息,拓扑指标信息更新等   NimbusServer: ** * * NimbusServer work flow: 1. ...

  7. sprig里的controller之间的跳转的问题

    学习spring的controller,发现controller之间的跳转有些地方搞的不是很清楚,如果通过controller的return语句实现跳转的话,会造成request的丢失:具体怎么回事首 ...

  8. 百度前端技术学院2015JavaScript基础部分-BOM

    5.1 任务描述 实现以下函数 // 判断是否为IE浏览器,返回-1或者版本号 function isIE() { // your implement } // 设置cookie function s ...

  9. Python学习基本

    刚开始学习是看了这个网站: 廖雪峰的官方网站  http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac92707 ...

  10. LCD底层驱动分析

    根据分析的框架,自己写一个LCD驱动程序 1分析LCD硬件原理图 Von和Voff接的是一个电源电路,通过LCD_POWER接的是GPG4来控制LCD电源,高电平表示开启LCD电源 VM接的是CPU的 ...