序列化(先序)

版权声明:本文为博主原创文章,转载请说明。 https://blog.csdn.net/GoJawee/article/details/77985048
先序遍历的序列化操作:
使用先序遍历遍历每一个节点,
(1)当该结点的值为NULL时,返回"#!"
(2)当该结点的值不为NULL时,str = T->data + "!";
(3)递归遍历左子树、右子树
    str = str + preSerialize(T->lchild);
    str = str + preSerialize(T->rchild);
(4)最后返回T


string preSerialize(TreeNode* T)  //序列化
{
    if (!T)
        return "#!";

    string str = T->data + "!";
    str = str + preSerialize(T->lchild);
    str = str + preSerialize(T->rchild);

    return str;
}

猜你喜欢

转载自blog.csdn.net/GoJawee/article/details/77985048