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
Post a Comment