码迷,mamicode.com
首页 > 编程语言 > 详细

练习:已知后序遍历和中序遍历,求层次遍历--C++实现

时间:2021-01-05 11:40:19      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:clu   index   tar   i+1   level   art   mes   实现   while   

#include<iostream>
#include<vector>
using namespace std;
vector<char>post,in;
vector<char>level(100000,-1);
in N;
void ergodic(int root,int start,int end,int index){
    int i == start;
    if(start>end) return;
    while(i<end && in[i]!=post[root])
        i++;
    level[index]=post[root];
    ergodic(root-1-end+i,start,i-1,2*index+1);
    ergodic(root-1,i+1,end,2*index+2);
}

int main(){
    Cin>>N;
    post.resize(N);
    in.resize(N);
    for(int i=0;i<N;i++)
        Cin>>post[i];
    for(int i=0;i<N;i++)
        Cin>>in[i];
    ergodic(N-1,0,N-1,0);
    for(int i=0;cnt=0;i<level.size();i++){
        if(level[i]!=-1){
            printf("%c",level[i]);
            cnt++;
    }
    }
    return 0;
}

  

如果能python实现就好。

2021-1-2,笔记

练习:已知后序遍历和中序遍历,求层次遍历--C++实现

标签:clu   index   tar   i+1   level   art   mes   实现   while   

原文地址:https://www.cnblogs.com/yuntimer/p/14223113.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!