序列化和反序列化二叉树
来源:互联网 发布:微信视频强制分享源码 编辑:程序博客网 时间:2024/05/29 14:11
本题源自剑指offer
---------------------------------------------------
char* Serialize(TreeNode *root) { if(root == NULL) return NULL; string str; Serialize(root, str); char *ret = new char[str.length() + 1]; int i; for(i = 0; i < str.length(); i++){ ret[i] = str[i]; } ret[i] = '\0'; return ret; } void Serialize(TreeNode *root, string& str){ if(root == NULL){ str += '#'; return ; } string r = to_string(root->val); str += r; str += ','; Serialize(root->left, str); Serialize(root->right, str); } TreeNode* Deserialize(char *str) { if(str == NULL) return NULL; TreeNode *ret = Deserialize(&str); return ret; } TreeNode* Deserialize(char **str){//由于递归时,会不断的向后读取字符串 if(**str == '#'){ ++(*str); return NULL; } int num = 0; while(**str != '\0' && **str != ','){ num = num*10 + ((**str) - '0'); ++(*str); } TreeNode *root = new TreeNode(num); if(**str == '\0') return root; else (*str)++; root->left = Deserialize(str); root->right = Deserialize(str); return root; }
阅读全文
0 0
- 【二叉树】二叉树序列化和反序列化
- 序列化和反序列化二叉树
- 题目:二叉树的序列化和反序列化
- 二叉树的序列化和反序列化
- 二叉树的序列化和反序列化
- 二叉树的序列化和反序列化
- 二叉树的序列化和反序列化
- 二叉树的序列化和反序列化
- 二叉树的序列化和反序列化
- 二叉树的序列化和反序列化
- 二叉搜索树的序列化和反序列化
- 二叉树的序列化和反序列化
- WAP二叉树序列化和反序列化
- 序列化和反序列化二叉树
- lintcode,二叉树的序列化和反序列化
- 二叉树的序列化和反序列化
- 二叉树的序列化和反序列化
- 二叉树序列化和反序列化
- android 开源数据层框架。解放数据吧
- SPFA算法总结
- 阿里巴巴Java规范开发手册
- Android深度探索:HAL与驱动开发学习笔记--内存管理(学习重点)
- 下一代数据可视化分析系统的七个特征(二)
- 序列化和反序列化二叉树
- MediaPlayer实现金额的语音播报功能
- linux上printf出带颜色字体
- 洋河梦之蓝M9政府专供 是真是假?
- C++笔记之抽象类与接口类
- yii2的文件土拍你上传类UploadedFile的使用
- MySQL高可用数据库内核深度优化的四重定制
- MYSQL 5.7 INNODB 表空间
- platform总线--驱动发现设备的过程