求助,为啥只对了前三个
查看原帖
求助,为啥只对了前三个
656209
sunhsen楼主2022/3/23 21:47
#include <iostream>
#include <cstdio>
#include "string"
#include "algorithm"
#include "cmath"
//#include <bits/stdc++.h>
#include "stack"
#include "queue"
#include "time.h"
#include "stdlib.h"

using namespace std;

typedef struct TreeNode{
    char data;
    TreeNode *LeftChild;
    TreeNode *RightChild;
    TreeNode(char c):data(c),LeftChild(nullptr),RightChild(nullptr){}
};
queue<TreeNode*>Treequeue;
void preOrder(TreeNode* root){
    if(root== nullptr){
        return;
    }
    cout<<root->data;
    preOrder(root->LeftChild);
    preOrder(root->RightChild);
    return;
}


//TreeNode *Build()
int main() {
    int n;
    cin>>n;
    TreeNode *root;
    for(int i=0;i<n;i++){
        string temp;
        cin>>temp;
        if(i==0){
            root=new TreeNode(temp[0]);
            Treequeue.push(root);
        }
        TreeNode *q=Treequeue.front();
        for(int i=1;i<=2;i++){
            if(temp[i]!='*'){
                if(i==1){
                    q->LeftChild=new TreeNode(temp[i]);
                    Treequeue.push(q->LeftChild);
                } else{
                    q->RightChild=new TreeNode(temp[i]);
                    Treequeue.push(q->RightChild);
                }

            }
        }
        Treequeue.pop();
    }
    preOrder(root);



    return 0;
}


2022/3/23 21:47
加载中...