Level Order Traversal of Binary Tree
Try to solve the Binary Tree Level Order Traversal problem.
Statement
Given the root of a binary tree, display the values of its nodes while performing a level order traversal. Return the node values for all levels in a string separated by the character :
. If the tree is empty, i.e., the number of nodes is , then return “None” as the output.
Constraints:
-
The number of nodes in the tree is in the range .
-
Node.data
Examples
Understand the problem
Let’s take a moment to make sure you’ve correctly understood the problem. The quiz below helps you check if you’re solving the correct problem:
How does BFS ensure that it visits all nodes in a binary tree while traversing level by level?
By using a stack data structure to keep track of visited nodes
By using a queue data structure to maintain the order of node exploration
By recursively traversing the left and right subtrees in a depth-first manner
By randomizing the order of node exploration for better coverage
Figure it out!
We have a game for you to play. Rearrange the logical building blocks to develop a clearer understanding of how to solve this problem.
Try it yourself
Implement your solution in the following coding playground.
Note: The binary tree node’s class has members
left
andright
to store references to other nodes, along with the memberdata
to hold the node’s value.
// Definiton of a binary tree node class// class TreeNode<T> {// T data;// TreeNode<T> left;// TreeNode<T> right;// TreeNode(T data) {// this.data = data;// this.left = null;// this.right = null;// }// }import java.util.*;import ds_v1.BinaryTree.TreeNode;public class Solution{public static String levelOrderTraversal(TreeNode<Integer> root) {// Replace this placeholder return statement with your codereturn "";}}