题解 | 二叉树遍历

二叉树遍历

https://www.nowcoder.com/practice/4b91205483694f449f94c179883c1fef

#include <bits/stdc++.h>
#include <string>
using namespace std;
struct BiTNode{
    char data;
    BiTNode* left;
    BiTNode* right;
    BiTNode(char c):data(c),left(nullptr),right(nullptr){};
};
//使用引用调用index,保证其全局处理。
BiTNode* createTree(string a, int &index){
    if(a[index]=='#'||index>=a.size()){
        index++;
        return nullptr;
    }
    BiTNode* root = new BiTNode(a[index]);
    index++;
    root->left=createTree(a, index);
    root->right=createTree(a, index);
    return root;

}
void inOrder(BiTNode* tree){
    if(tree==nullptr){
        return;
    }
    inOrder(tree->left);
    cout<<tree->data<<" ";
    inOrder(tree->right);
}
int main() {
    string a;
    cin>>a;
    int index = 0;
    BiTNode *tree = createTree(a, index);
    inOrder(tree);
    return 0;
}

全部评论

相关推荐

axiom15:校友,我感觉你这个简历去华子暑期实习随便去了
点赞 评论 收藏
分享
Morpheus_:同 好奇什么题() 不过我一面确实是不想要直说了 xs
腾讯求职进展汇总
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务