题目

image.png

思路

  1. """
  2. # Definition for a Node.
  3. class Node:
  4. def __init__(self, val: int = 0, left: 'Node' = None, right: 'Node' = None, next: 'Node' = None):
  5. self.val = val
  6. self.left = left
  7. self.right = right
  8. self.next = next
  9. """
  10. class Solution:
  11. def connect(self, root: 'Node') -> 'Node':
  12. if root is None: return root
  13. queue = [root]
  14. while len(queue) > 0:
  15. size = len(queue)
  16. for i in range(size):
  17. node = queue.pop(0)
  18. if i < size - 1:
  19. node.next = queue[0]
  20. if node.left: queue.append(node.left)
  21. if node.right: queue.append(node.right)
  22. return root