借助一个队列,每当指针到达某一节点时,把该节点的左右两个节点顺序存储到队列中去,周而复始。
public static void levelOrderPrint(BinaryNode node){ if(node==null) return; LinkedList<BinaryNode> q1=new LinkedList<BinaryNode>(); q1.offer(node); while(!q1.isEmpty()){ BinaryNode current=q1.poll(); System.out.print(current.value); if(current.left!=null) q1.offer(current.left); if(current.right!=null) q1.offer(current.right); } }