编程练习
题目:请实现两个函数,分别用来序列化和反序列化二叉树
思路:序列化二叉树即将二叉树转换为某一表达存入永久存储设备,比如硬盘上,反序列化就是将硬盘上代表二叉树的文件利用程序读入,并将一模一样的二叉树在内存中再次重现。
题目中给出的序列化后的格式是一个字符串,所以能想到用二叉树的某一遍历结果转为符合条件的字符串即完成了二叉树的序列化,为了方便起见。我们采用了层序遍历,将为空的结点的序列化字符设为“#”,并将每个节点间用逗号隔开。反序列化的时候采用相反的思想重现二叉树即可。
java代码如下:
1 | import java.util.LinkedList; |