有一棵树,每个结点存放一个字符。所有的叶子结点都存放着‘#’字符,非叶子结点则不可能存放‘#’字符。非叶子结点都是既有左子树又有右子树。给出该树的先序遍历序列,求其后序遍历序列
输入:AB#D##CE###
输出: ###DB##E#CA
#include <iostream>
using namespace std;
//先序遍历得到后序遍历(递归实现)
//思想:没输入一个字符判断是否是#,如是则直接输出,如不熟则继续输入,继续判断
void TreeVisit()
{
char tmp;
cin >> tmp;
if(tmp == '#')
{
cout << tmp;
return;
}
TreeVisit();//遍历左结点
TreeVisit();//遍历右结点
cout << tmp;
}
int main()
{
TreeVisit();
cout << endl;
return 0;
}