zoukankan      html  css  js  c++  java
  • 【例3-4】求后序遍历

    【例3-4】求后序遍历

    链接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1339
    时间限制: 1000 ms         内存限制: 65536 KB

    【题目描述】

    输入一棵二叉树的先序和中序遍历序列,输出其后序遍历序列。

    【输入】

    共两行,第一行一个字符串,表示树的先序遍历,第二行一个字符串,表示树的中序遍历。树的结点一律用小写字母表示。

    【输出】

    一行,表示树的后序遍历序列。

    【输入样例】

    abdec
    dbeac

    【输出样例】

    debca
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<vector>
    #include <algorithm>
    using namespace std;
    vector <char> pre,in,post;
    int i;
    void rec(int l,int r)
    {
        if(l>=r)return ;
        int m=distance(in.begin(),find(in.begin(), in.end(), pre[i++]));    
        rec(l,m);
        rec(m+1,r);
        post.push_back(in[m]);
    }
    int main()
    {
        string s1,s2;
        cin>>s1>>s2;
        for(int i=0;i<s1.size();i++)
            pre.push_back(s1[i]);
        for(int i=0;i<s2.size();i++)
            in.push_back(s2[i]);
        rec(0,s1.size());
        for(int i=0;i<post.size();i++)
            printf("%c",post[i]);
        cout<<endl;
    }
  • 相关阅读:
    记一次centos 服务器中毒事件
    heatmap
    this
    购物车
    带标签的无缝轮播
    无缝轮播
    图片滚动百分百宽度
    选择排序
    冒泡排序
    tab标签页
  • 原文地址:https://www.cnblogs.com/EdSheeran/p/8017831.html
Copyright © 2011-2022 走看看