题解 | 二叉树遍历

二叉树遍历

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

/*
   个人易忘:通过前序遍历序列复原二叉树。
*/

#include <iostream>
using namespace std;

struct node {
    char val;
    node *left;
    node *right;
    node(char v):val(v),left(NULL),right(NULL){}
};

node* create_tree(string str, int &pos) {
    char c = str[pos++];
    if (c=='#') {
        return NULL;
    }
    node* root = new node(c);
    root->left = create_tree(str, pos);
    root->right = create_tree(str, pos);
    return root;
}

/*
void insert(node* &root, string s, int& i) {
    if (i>=s.length()) return;
    if (!root && s[i]!='#') {
        root = new node(s[i]);
        i++;
    }
    else if (s[i]=='#') {
        i++;
        root = NULL;
        return;
    }
    insert(root->left, s, i);
    insert(root->right, s, i);
}
*/

void inOrder (node* tree) {
    if (!tree) return;
    inOrder(tree->left);
    cout << tree->val << " ";
    inOrder(tree->right);
}

int main() {
    string s;
    while(cin >> s) {
        // int len = s.length();
        int i = 0;
        node *tree = create_tree(s, i);;
        // insert(tree, s, i);
        inOrder(tree);
        cout << endl;
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-11 13:34
offe从四面八方来:我真的没时间陪你闹了
点赞 评论 收藏
分享
风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。
双非有机会进大厂吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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