Leetcode # 102. Binary Tree Level Order Traversal

https://leetcode.com/problems/binary-tree-level-order-traversal/

Solution

Time Complexity: O(len(tree))
Space Complexity: O(len(tree))
(The input and output generally do not count towards the space complexity.)

class Solution:
  def levelOrder(self, root: Optional[TreeNode]) -> List[List[int]]:
    queue = collections.deque()
    if root: queue.append([root])
    level_order_traversal = []
    while queue:
      cur_level = queue.popleft()
      cur_level_values = []
      next_level = []
      for node in cur_level:
        cur_level_values.append(node.val)
        if node.left:
          next_level.append(node.left)
        if node.right:
          next_level.append(node.right)
      level_order_traversal.append(cur_level_values)
      if next_level: queue.append(next_level)
    return level_order_traversal

 

Last Updated on 2023/08/16 by A1go

目錄

目錄
Bitnami