zoukankan      html  css  js  c++  java
  • 信息学奥赛一本通(C++)在线评测系统——基础(三)数据结构 —— 1339:【例34】求后序遍历

    时间限制: 1000 ms 内存限制: 65536 KB
    提交数: 1380 通过数: 940

    【题目描述】

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

    【输入】

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

    【输出】

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

    【输入样例】

    abdec
    dbeac

    【输出样例】

    debca

    【来源】

    No

    样例二叉树

    在这里插入图片描述

    代码

    #include <cstring>
    #include <iostream>
    #include <cstdio>
    using namespace std;
    string s1,s2;
    void calc(int l1,int r1,int l2,int r2)
    {
    	int m=s2.find(s1[l1]);
    	if(m>l2) calc(l1+1,l1+m-l2,l2,m-1);
    	if(m<r2) calc(l1+m-l2+1,r1,m+1,r2);
    	cout<<s1[l1];
    }
    int main ()
    {
    	cin>>s1>>s2;
    	calc(0,s1.length()-1,0,s2.length()-1);
    	cout<<endl;
    	return 0;
    }
    
  • 相关阅读:
    mybatis 控制器注解介绍(一)
    maven(基础介绍一)
    mybatis 动态sql语句(3)
    mybatis 动态sql语句(2)
    MyBatis 工具 pndao
    mybatis~动态SQL(1)
    模拟102
    模拟99
    模拟95
    模拟94
  • 原文地址:https://www.cnblogs.com/AlexKing007/p/12339034.html
Copyright © 2011-2022 走看看