Trouver tous les nœuds d'un arbre binaire à un niveau spécifique (Interview de Requête)

Je veux dire à un niveau spécifique, PAS jusqu'à ce niveau spécifique. Quelqu'un pourrait-veuillez vérifier mes modifié algorithme BFS? (la plupart de ce qui est tirée de Wikipedia)

Queue levelorder(root, levelRequested){
      int currentLevel = 0;
      q = empty queue
      q.enqueue(root)
      while not q.empty do{
           if(currentLevel==levelRequested)
                 return q;
           node := q.dequeue()
           visit(node)
           if(node.left!=null || node.right!=null){
                 currentLevel++;
                 if node.left ≠ null
                       q.enqueue(node.left)
                 if node.right ≠ null
                       q.enqueue(node.right)
           }
      }
}

OriginalL'auteur John Roberts | 2012-11-12