序列化是将数据结构或对象转换为位序列的过程,以便将其存储在文件或内存缓冲区中,或通过网络连接传输,以便稍后在相同或另一个计算机环境中重新构建。
代码
struct TreeNode {
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
二叉树的结点信息如上。下面是序列化二叉树的过程,把二叉树序列化成一个字符串:
// Encodes a tree to a single string.
string serialize(TreeNode* root) {
if (NULL == root) {
return "#";
}
string result(to_string(root->val));
result += ",";
result += serialize(root->left);
result += ",";
result += serialize(root->right);
// iterative
/*string result;