请实现两个函数,分别用来序列化和反序列化二叉树。
示例:
你可以将以下二叉树:
1
/ \
2 3
/ \
4 5序列化为 "[1,2,3,null,null,4,5]"
1.所谓的序列化和反序列化只是找到一种方式来压缩和解压缩而已
class Codec:def serialize(self, root):if not root:[]res=[]def dfs(root):if not root:res.append('*')return res.append(root.val)dfs(root.left)dfs(root.right)dfs(root)return resdef deserialize(self, data):if not data:return Noneindex=0def dfs():nonlocal indexif data[index]=='*':index+=1return Noneroot=TreeNode(data[index])index+=1root.left=dfs()root.right=dfs()return rootreturn dfs()