九月 提交的代码
提交时间:2022年4月13日 02:21 语言:C++运行时间:4ms占用内存:269K
运行状态: Accepted
题目:二叉树遍历1161

大会员可查看代码,点此开通大会员

                
                    #include<bits/stdc++.h>
using namespace std;
typedef struct node{
    char data;
    struct node *lchild,*rchild;
}*BitTree;
string s;
int len;
void CreatBitTree(BitTree &T){
    if(len==s.size())
        return;
    char c=s[len++];
    if(c=='#') T==NULL;
    else{
        T=new node;
        T->data=c;
        T->lchild=NULL;
        T->rchild=NULL;
        CreatBitTree(T->lchild);
        CreatBitTree(T->rchild);
    }
}
void PreOrderTraverse(BitTree T){
    if(T!=NULL){
        cout << T->data << ' ';
        PreOrderTraverse(T->lchild);
        PreOrderTraverse(T->rchild);
    }
}
void InOrderTraverse(BitTree T){
    if(T!=NULL){
        InOrderTraverse(T->lchild);
        cout << T->data << ' ';
        InOrderTraverse(T->rchild);
    }
}
int main(){
    while(cin>>s){
        len=0;
        BitTree T;
        CreatBitTree(T);
        InOrderTraverse(T);
        cout << endl;
    }
}