题解 | #二叉树遍历#

二叉树遍历

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

#include<iostream>
using namespace std;
typedef struct node {
    char value;
    struct node* left, * right;
}NodeTree, * Tree;
void BuildTree(Tree &root, string &str) {
    if (str.size() && str.at(0) != '#') {
        root = (Tree)malloc(sizeof(NodeTree));
        root->value = str.at(0);
        root->left = NULL;
        root->right = NULL;
        str.erase(str.begin());
        BuildTree(root->left, str);
        BuildTree(root->right, str);
    }
    else {
        root = NULL;
        str.erase(str.begin());
    }
}
void Output(Tree root) {
    if (root == NULL)
        return;
    Output(root->left);
    cout << root->value << " ";
    Output(root->right);
}
int main()
{
    string str;
    while (cin >> str) {
        Tree root = NULL;
        BuildTree(root, str);
        Output(root);
    }
}
全部评论

相关推荐

Java抽象带篮子:难蚌,点进图片上面就是我的大头😆
点赞 评论 收藏
分享
10-24 11:10
山西大学 Java
若梦难了:哥们,面试挂是很正常的。我大中厂终面挂,加起来快10次了,继续努力吧。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务