leetcode_c++:树:Serialize and Deserialize Binary Tree(297)
来源:互联网 发布:腾讯云域名怎么添加 编辑:程序博客网 时间:2024/05/22 07:07
Serialization is the process of converting a data structure or object into a sequence of bits so that it can be stored in a file or memory buffer, or transmitted across a network connection link to be reconstructed later in the same or another computer environment.
Design an algorithm to serialize and deserialize a binary tree. There is no restriction on how your serialization/deserialization algorithm should work. You just need to ensure that a binary tree can be serialized to a string and this string can be deserialized to the original tree structure.
For example, you may serialize the following tree
1 / \ 2 3 / \ 4 5
as “[1,2,3,null,null,4,5]”, just the same as how LeetCode OJ serializes a binary tree. You do not necessarily need to follow this format, so please be creative and come up with different approaches yourself.
算法
http://www.cnblogs.com/grandyang/p/4913869.html
// Recursionclass Codec {public: // Encodes a tree to a single string. string serialize(TreeNode* root) { ostringstream out; serialize(root, out); return out.str(); } // Decodes your encoded data to tree. TreeNode* deserialize(string data) { istringstream in(data); return deserialize(in); }private: void serialize(TreeNode *root, ostringstream &out) { if (root) { out << root->val << ' '; serialize(root->left, out); serialize(root->right, out); } else { out << "# "; } } TreeNode* deserialize(istringstream &in) { string val; in >> val; if (val == "#") return nullptr; TreeNode *root = new TreeNode(stoi(val)); root->left = deserialize(in); root->right = deserialize(in); return root; }};
- leetcode_c++:树:Serialize and Deserialize Binary Tree(297)
- leetcode 297 : Serialize and Deserialize Binary Tree
- [LeetCode 297] Serialize and Deserialize Binary Tree
- LeetCode 297 Serialize and Deserialize Binary Tree
- LeetCode Serialize and Deserialize Binary Tree 树
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree
- [leetcode] 122. Best Time to Buy and Sell Stock II
- 在Myeclipse下servlet和oracle配置和连接
- iOS swift-UICollectionView实现照片浏览
- android布局---- fill_parent、wrap_content和match_parent的区别
- MyISAM和InnoDB的区别
- leetcode_c++:树:Serialize and Deserialize Binary Tree(297)
- 获取servletContext对象的方式
- jquery 时间戳与日期转换
- 活用三种权限 理解Samba的权限控制
- gcd深入学习
- 【Unity】《Unity_API解析》 第四章 HideFlags类
- 占用端口查询
- Ubuntu16.04 安装caffe
- 在ubuntu 16.04安装android studio