zoukankan      html  css  js  c++  java
  • HLG2040二叉树遍历已知前中,求后

    二叉树的遍历
    Time Limit: 1000 MS Memory Limit: 32768 K
    Total Submit: 60(34 users) Total Accepted: 34(30 users) Rating: Special Judge: No
    Description
    给出一棵二叉树的中序和前序遍历,输出它的后序遍历。
    Input

    本题有多组数据,输入处理到文件结束。

    每组数据的第一行包括一个整数n,表示这棵二叉树一共有n个节点。

    接下来的一行每行包括n个整数,表示这棵树的中序遍历。

    接下来的一行每行包括n个整数,表示这棵树的前序遍历。

    3<= n <= 100

    Output
    每组输出包括一行,表示这棵树的后序遍历。
    Sample Input
    7
    4 2 5 1 6 3 7

    1 2 4 5 3 6 7

     

    Sample Output
    4 5 2 6 7 3 1 
     
    Source
    2014 Winter Holiday Contest 5

    #include<stdio.h>
    #include<string.h>
    #include<iostream>
    #include<algorithm>
    using namespace std;

    int n,num=0;
    int kmp(int root,int str2[])
    {
        int s=0;
        while(1)
        {
            if(str2[s]==root)
                return s;
            s++;
        }
        return 0;
    }
    void calculate(int m,int str1[],int str2[],int str3[] )
    {
        if(m<=0)
            return ;
            int len=kmp(str1[0],str2);
        calculate(len,str1+1,str2,str3);
        calculate(m-len-1,str1+len+1,str2+len+1,str3);
        str3[num++]=str1[0];
    }
    int main()
    {
            int n;
        int str1[105],str2[105],str3[105];
        while(scanf("%d",&n)!=EOF)
        {
            num=0;
            memset(str1,0,sizeof(str1));
            memset(str2,0,sizeof(str2));
            memset(str3,0,sizeof(str3));
            for(int i=0;i<n;i++)
                scanf("%d",&str2[i]);
            for(int i=0;i<n;i++)
                scanf("%d",&str1[i]);
            calculate(n,str1,str2,str3);
            for(int i=0;i<n;i++)
                printf("%d ",str3[i]);
                printf(" ");
        }
        return 0;
    }

  • 相关阅读:
    Beta阶段事后诸葛亮分析
    Beta阶段项目复审
    展示博客
    Beta版本测试报告以及Beta版本发布说明
    团队作业8——第二次项目冲刺(Beta阶段)博客汇总
    团队作业8----第二次项目冲刺(beta阶段)5.25
    团队作业8----第二次项目冲刺(beta阶段)5.24
    团队作业8----第二次项目冲刺(beta阶段)5.23
    团队作业8----第二次项目冲刺(beta阶段)5.22
    团队作业8----第二次项目冲刺(beta阶段)5.21
  • 原文地址:https://www.cnblogs.com/13224ACMer/p/4428093.html
Copyright © 2011-2022 走看看