前序和中序,求出后序遍历
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前序和中序,求出后序遍历相关的知识,希望对你有一定的参考价值。
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int N=4e3+20; int n; string a,b;//a,b分别为前序和中序遍历结果 //后序:左子树后序+右子树后序+根 void dfs(char *a,char* b,int len) { if(len<1) return; int i=0; while(b[i]!=a[0]) i++; dfs(a+1,b,i); dfs(a+i+1,b+i+1,len-i-1); cout<<a[0]; } int main() { char a[N],b[N]; scanf("%s%s",a,b); n=strlen(a); dfs(a,b,n); cout<<endl; return 0; }
以上是关于前序和中序,求出后序遍历的主要内容,如果未能解决你的问题,请参考以下文章
输入后序和中序,构造二叉树,并输出该二叉树的层序前序中序后序遍历结构;输入后序和中序,构造二叉树,并输出该二叉树的层序前序中序后序遍历结构
通过遍历序列构造二叉树(扩展二叉树的先序先序和中序后序和中序层序和中序)附可执行完整代码