educative.io

Simpler solution to binary level order traversal

I believe the following simple tree pre-order traversal is cleaner and simpler than the solution code. What are your thoughts?

def traverse(root):
  result = []
  def tr(node, level):
    if node:
      if not level < len(result):
        result.append([])
      result[level].append(node.val)
      tr(node.left, level+1)
      tr(node.right, level+1)
  tr(root, 0)
  return result