Level Order Traversal Function - Java


For Level Order Traversal function we need to use Queue. It is similar to BFS.


 public void printLevelOrderTraversalWithQueue(TreeNode node) {
    if(node == null ) {
    System.out.println("No Nodes in the Tree");
    return;
    }
    LinkedBlockingQueue<TreeNode> treeQueue = new LinkedBlockingQueue<TreeNode>();
    try {
treeQueue.put(this.root);
TreeNode tempNode = null;
while((tempNode= treeQueue.poll())!= null) {

System.out.print(tempNode.data+" ");
if(tempNode.left != null)
treeQueue.put(tempNode.left);
if(tempNode.right != null)
treeQueue.put(tempNode.right);
}

} catch (InterruptedException e) {
e.printStackTrace();
}
   
   
   

    }

Comments