102. Binary Tree Level Order Traversal

Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).

For example: Given binary tree [3,9,20,null,null,15,7],

    3
   / \
  9  20
    /  \
   15   7

return its level order traversal as:

[
  [3],
  [9,20],
  [15,7]
]

Solution: BFS

class Solution(object):
    def levelOrder(self, root):
        """
        :type root: TreeNode
        :rtype: List[List[int]]
        """
        result = []
        level = [root]
        while level:
            new_level = []
            vals = []
            for node in level:
                if node:
                    vals.append(node.val)
                    new_level.append(node.left)
                    new_level.append(node.right)
            if vals:
                result.append(vals)
            level = new_level
        return result

results matching ""

    No results matching ""