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

leetcode 297 lintcode 7 设计 讨论

温馨提示:您没有权限查看当前视频。 立即购买观看视频

描述

这个题目说的是,你要设计一个算法来序列化和反序列化一棵二叉树。你需要实现两个函数,序列化函数可以把一棵二叉树序列化成一个字符串表示;而反序列化函数可以把这个字符串还原成原来的二叉树。

比如说,给你的二叉树是:

   0
 /   \
1     2
     / \
    4   8

你可以把它序列化成字符串:

"[0,1,2,null,null,4,8]"

这是 leetcode 对二叉树的序列化表示,只要你刷过 leetcode,对这个应该不会陌生。

反过来,如果给你这个字符串。你也要能把它还原成原来的二叉树。

注意:序列化和反序列化具体使用什么算法不限,序列化后的字符串也并不是非得使用 leetcode 采用的形式。只要能对一棵二叉树正确地序列化和反序列化即可。

关于 AlgoCasts

AlgoCasts 旨在用心做好每一个算法讲解视频。每个视频包含两个部分:题目的剖析讲解以及编码,力求在讲解清楚到位的基础上,尽可能地保持视频精简短小,让大家可以在碎片时间里进行学习,并收获这些算法题背后的思想与乐趣。