Solve in Python:
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]
]
# Definition for a binary tree node.
 # class TreeNode:
 #     def __init__(self, x):
 #         self.val = x
 #         self.left = None
 #         self.right = None
 
 class Solution:
     def traverse(self, root, ordered, level=0):
         if root.left:
             self.traverse(root.left, ordered, level=level+1)
         for create in range(level-len(ordered)+1):
             ordered.append([])
         ordered[level].append(root.val)
         if root.right:
             self.traverse(root.right, ordered, level=level+1)
     def levelOrder(self, root):
         """
         :type root: TreeNode
         :rtype: List[List[int]]
         """
         if not root:
             return []
         ordered = [[]]
         self.traverse(root, ordered, level=0)
         return ordered