class Solution:
def connect(self, root: 'Node') -> 'Node':
if root == None:
return root
node = root
queue = collections.deque()
queue.append(node)
while(queue):
l = len(queue)
left, right = None, None
for _ in range(l):
val = queue.popleft()
right = left
left = val
left.next = right
if val.right:
queue.append(val.right)
if val.left:
queue.append(val.left)
return node