从 C++ 中的最后一个数字中删除 space

Remove space from last number in C++

我正在尝试编写一个关于从中序和前序遍历重建二叉搜索树的程序,然后将树输出到后序中,我需要在打印树中的最后一个元素后删除空白 space,但我真的不知道该怎么做。

我的邮购码:

    void postorder(Node* root) 
{
    if (root == nullptr) {
        return;
    }
    postorder(root->left);
    postorder(root->right);
    cout << root->data << " ";
}

假设输出是 4_5_2_3_1,其中数字 (" ") 之间的 _ 是空白 space,但现在我的输出是 4_5_2_3_1_(一个额外的 space 1)、如何删除它?

bool postorder(Node* root) 
{
    if (!root) {
        return false;
    }
    if (postorder(root->left))
        cout << " ";
    if (postorder(root->right))
        cout << " ";
    return (cout << root->data);
}