二叉树的层序遍历java

层序遍历定义

1.访问根结点
2.在访问l层时,将l+1层的节点按顺序保存在队列中
3.进入下一层并访问该层的所有节点
4.重复上述步骤,直到所有层都遍历完

void levelOrder(BinaryTrēeNode root){
    
    
    BinaryTreeNode temp;
    LLQueue q = new LLQueue();
    if(root == null){
    
    
      return;
    }
    //根节点入队
    q.enQueue(root);
    while(!q.isEmpty()){
    
    
       temp = q.deQueue();
       //处理当前节点
       System.out.println(temp.getData());
       if(temp.getLeft() != null){
    
    
         q.enQueue(temp.getLeft());
       }
       if(temp.getRight()){
    
    
         q.enQueue(temp.getRight());
       }
    }
    q.deleteQueue();
}

猜你喜欢

转载自blog.csdn.net/weixin_37632716/article/details/109730176