• + 0 comments

    i think you alter the tree;,my answer:

    void top_view(node * root)
    {
        node * tmp = NULL;
        if(root->left){
            tmp = root->left->right;
            root->left->right = NULL;
            top_view(root->left);
            root->left->right = tmp;
        }
        cout<<root->data<<" ";
        if(root->right){
            tmp = root->right->left;
            root->right->left = NULL;
            top_view(root->right);
            root->right->left = tmp;
        }
        return;
    }