Open
Description
Try 2: Bug Free
from collections import deque
class Codec:
def serialize(self, root):
if not root: return ""
res = []
queue = deque([root])
while queue:
node = queue.popleft()
if node:
res.append(str(node.val))
queue.append(node.left)
queue.append(node.right)
else:
res.append("x")
return ",".join(res)
def deserialize(self, data):
if not data: return None
nums = data.split(",")
root = TreeNode(nums[0])
queue = deque([root])
index = 0
while queue:
node = queue.popleft()
index += 1
if nums[index] != "x":
node.left = TreeNode(int(nums[index]))
queue.append(node.left)
index += 1
if nums[index] != "x":
node.right = TreeNode(int(nums[index]))
queue.append(node.right)
return root
Metadata
Metadata
Assignees
Labels
No labels