已知如下一棵二叉树对应的字符序列(层次遍历序列)为:ABC##EF#G####,其中‘#’表示节点对应的孩子结点为空。现给定一棵二叉树的字符序列,请使用c++语言用二叉链表构造该二叉树,并输出该二叉树的中序遍历。
时间: 2024-05-11 10:10:06 浏览: 108
```c++
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
using namespace std;
struct node{
char data;
node *lchild,*rchild;
};
char str[110];
int len;
int index;
node *create(){
node *root=NULL;
if(index<len&&str[index]!='#'){
root=new node;
root->data=str[index];
index++;
root->lchild=create();
root->rchild=create();
}
else if(index<len){
index++;
}
return root;
}
void inorder(node *root){
if(root!=NULL){
inorder(root->lchild);
printf("%c ",root->data);
inorder(root->rchild);
}
}
int main(){
while(scanf("%s",str)!=EOF){
len=strlen(str);
index=0;
node *root=create();
inorder(root);
printf("\n");
}
return 0;
}
```
阅读全文