题解 | #二叉树遍历#

二叉树遍历

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


#include<bits/stdc++.h>
using namespace std;
struct TreeNode{
    char data;
    TreeNode* left;
    TreeNode* right;
    TreeNode(char c): data(c), left(NULL), right(NULL){}
};
void buildTree(TreeNode* &root, string &str){
    //递归终止条件
    if(str.empty())return ;
    if(str[0] == '#'){
        str.erase(0, 1);
        return ;
    }
    //继续递归
    root = new TreeNode(str[0]);//生成新结点
    str.erase(0, 1);
    buildTree(root->left, str);
    buildTree(root->right, str);
}
void traverse_inorder(TreeNode* root){
    //递归终止条件
    if(root == NULL)return ;
    //继续递归
    traverse_inorder(root->left);
    cout << root->data <<' ';
    traverse_inorder(root->right);
}
int main(){
    string input = "";
    TreeNode* tree = NULL;
    while(cin >> input){
        delete tree;//释放指针所指内存
        tree = NULL;//指针置NULL

        //前序构造二叉树
        buildTree(tree, input);
        //中序遍历
        traverse_inorder(tree);

    }
    return 0;
}


全部评论

相关推荐

头像
昨天 20:19
已编辑
门头沟学院 人工智能
本文略长,献给身处双非、学院本科的低年级依旧陷入迷茫的同学,一个参考。夹杂强烈主观因素,若观点不同,仅当笑料。近日,工作之余的午休时间给母校的学弟学妹进行了宣讲,同时也接受了牛客的访谈,不约而同的触发了两个关键词考研,就业。现象今年和去年,认识的学弟学妹,来自知某、抖某、牛客等系列的学弟学妹,这次宣讲,约有20个学弟学妹来加了我的联系方式,向我取经,聊聊未来,聊聊想法。我这里简单概括一下。1.现在很迷茫,大方向摇摆就业还是考研,但是倾向考研。小方向摇摆竞赛和项目,不知道怎么去做,不知道怎么开始。2.考研的直接目的绝大多数都是为了(混)学历,根本目的就是提高就业竞争力。3.我把他们都拉了个群,在...
牛客85294058...:“私聊能够滔滔不绝,而拉了一个小群之后就完全一声不吭”个人观点这跟从小到大“不要浪费大家时间”的社会环境有关:个人化的提问,如果你上学时有留心、或者参加QA环节多,会注意到这种做法经常是被人骂的。要营造让大家开口的氛围和做出欢迎讨论的议题设置还是比较难的,期待方法探索。
投递大连飞创信息技术有限公司等公司10个岗位
点赞 评论 收藏
分享
叁六玖:你看,最后不是让你加油,就是鼓励你,还祝福你求职顺利。
点赞 评论 收藏
分享
皮格吉:不,有的厂子面试无手撕,可以试试。都是一边学一边面。哪有真正准备好的时候,别放弃
无实习如何秋招上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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