输入一棵二叉树的先序和中序遍历序列,输出其后序遍历序列。
[Python]
def hx(qx,zx): global ans if len(qx)==0: return else: t=qx[0] _______(1)________ hx(qx[1:wz+1],zx[:wz]) _______(2)________ ans+=t qx=input() zx=input() ans="" ______(3)_________ print(ans)
[C/C++]
#include<iostream> #include<cstring> using namespace std; #define MAX 100 void solve(char first[], int spos_f, int epos_f, char mid[], int spos_m, int epos_m) { int i, root_m; if(_______(1)______) return; for(i = spos_m; i <= epos_m; i++) if(_____(2)_______) { root_m = i; break; } solve(first, _____(3)________, mid, spos_m, root_m - 1); solve(first, ______(4)_______, mid, root_m + 1, epos_m); cout << _____(5)______; } int main() { char first[MAX], mid[MAX]; int len; cin >> first >> mid; len=strlen(first); solve(first, 0, len - 1, mid , 0, len - 1); cout << endl; return 0; }