1"""2# Definition for a Node.3class Node:4def __init__(self, val: int = 0, left: 'Node' = None, right: 'Node' = None, next: 'Node' = None):5self.val = val6self.left = left7self.right = right8self.next = next9"""101112class Solution:13def connect(self, root: "Optional[Node]") -> "Optional[Node]":14q = []15q.append(root)16if not root:17return None18while q:19prev = None20for i in range(len(q)):21node = q.pop(0)22if prev:23prev.next = node24prev = node25if node.left:26q.append(node.left)27if node.right:28q.append(node.right)29prev = None30return root