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

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

                
                    #include<bits/stdc++.h>
using namespace std;

typedef struct Node{
    char data;
    Node *left, *right;
}*BitTree;

void createBitTree(BitTree &node, string s, int *len){
    if(s.length() == *len){
        node = nullptr;
        return;
    }
    char cur = s[(*len)++];
    if(cur=='#'){
        node == nullptr;
    }else{
        node = new Node;
        node->data = cur;
        node->left = nullptr;
        node->right = nullptr;
        createBitTree(node->left, s, len);
        createBitTree(node->right, s, len);
    }
    return;
}

void middleOrderTraversal(Node *node){
    if(node!=nullptr){
        middleOrderTraversal(node->left);
        cout<<node->data<<' ';
        middleOrderTraversal(node->right);
    }
    return;
}

int main(){
    string s;
    while(cin>>s){
        int len = 0;
        BitTree bitTree;
        createBitTree(bitTree, s, &len);
        middleOrderTraversal(bitTree);
        cout<<endl;
    }
    return 0;
}