版权声明:本文为博主原创文章,转载请说明。 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;
}