java代码:
//层序遍历
public void levelOrder()
{
Queue<Node> q = new LinkedList();
if(root!=null)
q.add(root);//根入队列
while(!q.isEmpty())//队列不空
{
Node n = q.peek();
if(n.left!=null)
q.add(n.left);//队头有左孩子
if(n.right!=null)
q.add(n.right);//队头有右孩子
System.out.print(q.poll().value);//队头出队,打印
}
}
代码的步骤与设计的思路几乎一模一样。
经过测试,程序输出是没有问题的。