Populating Next Right Pointers in Each Node
Tree BFS
Last updated
Tree BFS
Last updated
from collections import deque
class Solution:
def connect(self, root: 'Node') -> 'Node':
if root is None:
return
queue = deque()
queue.append(root)
while queue:
previousNode = None
levelSize = len(queue)
for _ in range(levelSize):
currentNode = queue.popleft()
if previousNode:
previousNode.next = currentNode
previousNode = currentNode
if currentNode.left:
queue.append(currentNode.left)
if currentNode.right:
queue.append(currentNode.right)
return root
#Time: O(n)
#Space: O(n) b/c of queue