对于二叉树的序列化与反序列化有n种方法,本文以先序和层序的方式序列化和反序列化
对于,以先序的方式序列化:
1、以#代表空
2、以_代表一个数字的结束
3、序列化的过程如下:
怎么序列化的就怎么反序列化,同样以递归的方式进行:
以_符号切分字符串为数组
把数组中的元素存入到队列中
通过层遍历实现序列化和反序列化
用一个队列
先把头放进去,弹出,如果左孩子不为空,加入左孩子,结果加上左孩子,否则结果加上“#_"
如果右孩子不为空,队列加入右孩子,结果加上右孩子,否则结果加上“#_"
最后返回;
反序列化:
遇到#就生成null 节点,,同时不放入队列中