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

2019-03-11  本文已影响0人  陈晓冉

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

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

1、以#代表空

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

3、序列化的过程如下:

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

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

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

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

用一个队列

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

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

最后返回;

反序列化:

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

上一篇 下一篇

猜你喜欢

热点阅读