Skip to content

Commit 13f26f2

Browse files
Solve : Serialize And Deserialize Binary Tree
1 parent 28a5579 commit 13f26f2

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
class Codec:
2+
def serialize(self, root):
3+
def dfs(node):
4+
if not node:
5+
vals.append("None")
6+
return
7+
vals.append(str(node.val))
8+
dfs(node.left)
9+
dfs(node.right)
10+
11+
vals = []
12+
dfs(root)
13+
return ",".join(vals)
14+
15+
def deserialize(self, data):
16+
def dfs():
17+
val = next(vals)
18+
if val == "None":
19+
return None
20+
node = TreeNode(int(val))
21+
node.left = dfs()
22+
node.right = dfs()
23+
return node
24+
25+
vals = iter(data.split(","))
26+
return dfs()

0 commit comments

Comments
 (0)