剑指offer(五十)之序列化二叉树
2016-06-10 10:27
148 查看
题目描述
请实现两个函数,分别用来序列化和反序列化二叉树
代码:
请实现两个函数,分别用来序列化和反序列化二叉树
代码:
<span style="color:#000099;">/* public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ public class Solution { public int index = -1; String Serialize(TreeNode root) { StringBuffer sb = new StringBuffer(); if(root == null){ sb.append("#,"); return sb.toString(); } sb.append(root.val + ","); sb.append(Serialize(root.left)); sb.append(Serialize(root.right)); return sb.toString(); } TreeNode Deserialize(String str) { index++; int len = str.length(); if(index >= len){ return null; } String[] strr = str.split(","); TreeNode node = null; if(!strr[index].equals("#")){ node = new TreeNode(Integer.valueOf(strr[index])); node.left = Deserialize(str); node.right = Deserialize(str); } return node; } }</span><span style="color:#ff0000;"> </span>
相关文章推荐
- 静态的html页面想要设置使用浏览器缓存
- 《CSS权威指南》学习记录——定位(一)
- 剑指offer(四十九)之二叉树中和为某一值的路径
- Sublime Text 3 搭建 React.js 开发环境
- 剑指offer(13)-合并两个排序的链表
- JS中一些常用函数学习总结
- Same Tree
- 剑指offer(四十八)之复杂链表的复制
- Delete Node in a Linked List
- Intersection of Two Arrays
- 缓存类,类似与sharedpreference
- css:float之清浮动
- 剑指offer(四十七)之平衡二叉树
- Invert Binary Tree
- Error opening framebuffer device /dev/fb0
- javascript之String对象
- webpack学习笔记一(入门)
- 第七届ACM山东省赛-F Feed the monkey
- 一个好用的bootstrap的滑动插件
- 移动H5功能设计反思 测试用例总结