#include<iostream>
#include<cstdio>
#include<string>
using namespace std;
struct treenode{
char data;
treenode* lchild;
treenode* rchild;
treenode(char c)
:data(c)
,lchild(NULL)
,rchild(NULL)
{}
};
treenode *build(string str,int & position)
{
char c=str[position++];
if(c=='#')
return NULL;
treenode *root=new treenode(c);
root->lchild=build(str,position);
root->rchild=build(str,position);
return root;
}
void inorder(treenode *root)
{
if(root==NULL)
return ;
inorder(root->lchild);
printf("%c ",root->data);
inorder(root->rchild);
return;
}
int main()
{
string str;
while(cin>>str)
{
int position=0;
treenode *root=build(str,position);
inorder(root);
printf("\n");
}
return 0;
}
二叉树遍历
最新推荐文章于 2024-10-21 08:57:50 发布