二叉树的序列化 和反序列化

对于二叉树的序列化与反序列化有n种方法,本文以先序和层序的方式序列化和反序列化

对于,以先序的方式序列化:

1、以#代表空

2、以_代表一个数字的结束

3、序列化的过程如下:

怎么序列化的就怎么反序列化,同样以递归的方式进行:

以_符号切分字符串为数组

把数组中的元素存入到队列中


通过层遍历实现序列化和反序列化

用一个队列

先把头放进去,弹出,如果左孩子不为空,加入左孩子,结果加上左孩子,否则结果加上“#_"

如果右孩子不为空,队列加入右孩子,结果加上右孩子,否则结果加上“#_"

最后返回;

反序列化:

遇到#就生成null 节点,,同时不放入队列中


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容