Wednesday, January 7, 2015

[LintCode]Serialization and Deserialization Of Binary Tree


二叉树的序列化反序列化。我是按照题目描述的BFS的方法来做的,当然还会有其他序列化的方法,不过在这里只讨论BFS的方法。BFS序列化的表示方法是,按照一层一层的顺序在string尾巴上加字符,null的话用#表示,扫到最后一层为止,也就是说最后一层的地下的null不会出现最后序列化的结果当中。
方法就是BFS的变种,BFS的时候把null也加入list中,那么这个时候就要设定一个变量来判断是不是到了最后一层。反序列的化的时候也是用BFS,注意反序列化的时候最好先按照","spliit成string数组,否则处理字符串的时候不方便处理。值得一提的是BFS用一个list就可以了,比起之前用两个代码会简洁很多。

代码如下:


No comments:

Post a Comment