题目描述:
以二叉链表作为二叉树的存储结构,交换二叉树中每个结点的左孩子和右孩子。
输入格式:
输入二叉树的先序序列。
提示:一棵二叉树的先序序列是一个字符串,若字符是‘#’,表示该二叉树是空树,否则该字符是相应结点的数据元素。
输出格式:
输出有两行:
第一行是原二叉树的中序遍历序列;
第二行是交换后的二叉树的中序遍历序列。
输入样例:
ABC##DE#G##F###
输出样例:
CBEGDFA
AFDGEBC
解析:
二叉树结构定义:
struct node{
char data;
node *lchild,*rchild;
};
建立二叉树的递归函数,注意形参表列的取地址符:
void SetBiTree(node* &t){
char c;
cin>>c;
if(c