题目:
从上到下打印每个二叉树节点的值,用一层按照从左到右的顺序。也就是层序遍历。
输入:
输出:
50 20 60 15 30 70
解题思路:
从根节点分析,我们要把一个二叉树存入一个容器,这个容器可以按照存入顺序,依次把二叉树的根,左子树,右子树出列。在这里,我们使用队列。
Java代码实现:
public static void main(String[] args) {
// TODO Auto-generated method stub
TreeNode node=new TreeNode();
node.insert(50);
node.insert(20);
node.insert(60);
node.insert(15);
node.insert(30);
node.insert(70);
PrintNodeToptoBottom(node.root);
}
private static void PrintNodeToptoBottom(Node head){
if(head==null){
return;
}
Queue queue=new Queue();
queue.insert(head);
while(!queue.empty()){
Node temp=queue.remove();
System.out.print(temp.data +" ");
if(temp.leftChild!=null){
queue.insert(temp.leftChild);
}
if(temp.rightChild!=null){
queue.insert(temp.rightChild);
}
}
}