MCPcopy
hub / github.com/kunal-kushwaha/DSA-Bootcamp-Java / levelOrder

Method levelOrder

lectures/20-trees/code/Questions/BFS.java:2–28  ·  view source on GitHub ↗
(TreeNode root)

Source from the content-addressed store, hash-verified

1class BFS {
2 public List<List<Integer>> levelOrder(TreeNode root) {
3 List<List<Integer>> result = new ArrayList<>();
4
5 if (root == null) {
6 return result;
7 }
8
9 Queue<TreeNode> queue = new LinkedList<>();
10 queue.offer(root);
11
12 while (!queue.isEmpty()) {
13 int levelSize = queue.size();
14 List<Integer> currentLevel = new ArrayList<>(levelSize);
15 for (int i=0; i < levelSize; i++) {
16 TreeNode currentNode = queue.poll();
17 currentLevel.add(currentNode.val);
18 if (currentNode.left != null) {
19 queue.offer(currentNode.left);
20 }
21 if (currentNode.right != null) {
22 queue.offer(currentNode.right);
23 }
24 }
25 result.add(currentLevel);
26 }
27 return result;
28 }
29
30 public List<Integer> rightSideView(TreeNode root) {
31 List<Integer> result = new ArrayList<>();

Callers

nothing calls this directly

Calls 3

isEmptyMethod · 0.45
sizeMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected