#include
using namespace std;
typedef struct node
{
struct node *leftChild;
struct node *rightChild;
char data;
}BiTreeNode, *BiTree;
void createBiTree(BiTree &T)
{
char c;
cin >> c;
if('#' == c)
T = NULL;
else
{
T = new BiTreeNode;
T->data = c;
createBiTree(T->leftChild);
createBiTree(T->rightChild);
}
}
//先序遍历二叉树
void PreOrderTraverse(BiTree T){
// printf("ddd");
if(T){
printf("%c",T->data);
PreOrderTraverse(T->leftChild);
PreOrderTraverse(T->rightChild);
}
}
int main()
{
BiTree T;
createBiTree(T);
PreOrderTraverse(T);
return 0;
}
是你的输入有问题吧?
比如你要创建两层的二叉树:
s
a d
那输入的应该是sa##d##