code: def levelorder(self):
          
          current_nodes = [self]
          result = []
  
          while len(current_nodes) > 0:
              next_nodes = []
              for node in current_nodes:
                  result.append(node)
                  if node.left is not None:
                      next_nodes.append(node.left)
                  if node.right is not None:
                      next_nodes.append(node.right)
              current_nodes = next_nodes
  
          return result
docs: Return the nodes in the binary tree using level-order_ traversal.
  
          A level-order_ traversal visits nodes left to right, level by level.
  
          .. _level-order:
              https://en.wikipedia.org/wiki/Tree_traversal#Breadth-first_search
  
          :return: List of nodes.
          :rtype: [binarytree.Node]
  
          **Example**:
  
          .. doctest::
  
              >>> from binarytree import Node
              >>>
              >>> root = Node(1)
              >>> root.left = Node(2)
              >>> root.right = Node(3)
              >>> root.left.left = Node(4)
              >>> root.left.right = Node(5)
              >>>
              >>> print(root)
              <BLANKLINE>
                  __1
                 /   \\
                2     3
               / \\
              4   5
              <BLANKLINE>
              >>> root.levelorder
              [Node(1), Node(2), Node(3), Node(4), Node(5)]