Why is this code not working (LEVEL ORDER ( NEW LINE, BINARY TREE))?

public void levelOrderNewLine() {

	// write your code here
	LinkedList<Node> prim = new LinkedList<Node>();
	prim.addLast(this.root);
	prim.addLast(null);
	while (prim.size() > 1) {
		Node rv = prim.removeFirst();
		if (rv == null) {
			prim.addLast(null);
			System.out.println();
		} else {
			System.out.print(rv.data + " ");
			if (rv.left != null) {
				prim.addLast(rv.left);
			} else if (rv.right != null) {
				prim.addLast(rv.right);
			}
		}
	}
}

For input : 10 true 20 true 40 false false true 50 false false true 30 true 60 false false true 73 false false
it gives : 10
20
40

instead of :
10
20 30
40 50 60 73

Hi Aditya

Please post your doubt using “Ask Doubt” section of your online course and follow cb.lk/askdoubt guidelines to ask doubts.