We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 2478fc7 commit f6e8aabCopy full SHA for f6e8aab
297-Serialize-and-Deserialize-Binary-Tree.py
@@ -0,0 +1,36 @@
1
+# Definition for a binary tree node.
2
+# class TreeNode(object):
3
+# def __init__(self, x):
4
+# self.val = x
5
+# self.left = None
6
+# self.right = None
7
+
8
+class Codec:
9
10
+ def serialize(self, root):
11
+ res = []
12
13
+ def dfs(node):
14
+ if not node:
15
+ res.append("N")
16
+ return
17
+ res.append(str(node.val))
18
+ dfs(node.left)
19
+ dfs(node.right)
20
+ dfs(root)
21
+ return ",".join(res)
22
23
+ def deserialize(self, data):
24
+ vals = data.split(",")
25
+ self.i = 0
26
27
+ def dfs():
28
+ if vals[self.i] == "N":
29
+ self.i += 1
30
+ return None
31
+ node = TreeNode(int(vals[self.i]))
32
33
+ node.left = dfs()
34
+ node.right = dfs()
35
+ return node
36
+ return dfs()
0 commit comments