Skip to content

Commit 9a2ac5f

Browse files
committed
Added some comments
1 parent d7ddaa6 commit 9a2ac5f

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/main/java/com/rampatra/trees/ConnectNodesAtSameLevel.java

+6-3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
import java.util.Queue;
77

88
/**
9+
* Given a binary tree, return lists of nodes at each level. The number of lists in the output will be equal to
10+
* the number of levels in the tree.
11+
*
912
* @author rampatra
1013
* @since 2019-04-02
1114
*/
@@ -34,14 +37,14 @@ private static List<List<TreeNode>> connectNodes(TreeNode root) {
3437
List<TreeNode> connectedNodesAtLevel = new ArrayList<>();
3538

3639
queue.add(root);
37-
queue.add(new TreeNode(null));
40+
queue.add(new TreeNode(null)); // we use a node with null value as a marker for each level
3841

3942
while (!queue.isEmpty()) {
4043
TreeNode node = queue.poll();
41-
44+
4245
if (node.val != null) {
4346
connectedNodesAtLevel.add(node);
44-
} else {
47+
} else { // when we encounter a null in the queue, we know that a level is completed
4548
allNodes.add(connectedNodesAtLevel);
4649
connectedNodesAtLevel = new ArrayList<>();
4750
if (queue.peek() != null) queue.add(new TreeNode(null));

0 commit comments

Comments
 (0)