In this post, we are going to solve the Binary Tree Level Order Traversal Leetcode Solution problem of Leetcode. This Leetcode problem is done in many programming languages like C++, Java, and Python.

Problem
Given the root
of a binary tree, return the level order traversal of its nodes’ values. (i.e., from left to right, level by level).
Example 1:

Input: root = [3,9,20,null,null,15,7] Output: [[3],[9,20],[15,7]]
Example 2:
Input: root = [1] Output: [[1]]
Example 3:
Input: root = [] Output: []
Constraints:
- The number of nodes in the tree is in the range
[0, 2000]
. -1000 <= Node.val <= 1000
Now, let’s see the leetcode solution of Binary Tree Level Order Traversal Leetcode Solution.
Binary Tree Level Order Traversal Leetcode Solution in Python
class Solution: def levelOrder(self, root: Optional[TreeNode]) -> List[List[int]]: if not root: return [] ans = [] q = deque([root]) while q: currLevel = [] for _ in range(len(q)): node = q.popleft() currLevel.append(node.val) if node.left: q.append(node.left) if node.right: q.append(node.right) ans.append(currLevel) return ans
Binary Tree Level Order Traversal Leetcode Solution in CPP
class Solution { public: vector<vector<int>> levelOrder(TreeNode* root) { if (root == nullptr) return {}; vector<vector<int>> ans; queue<TreeNode*> q{{root}}; while (!q.empty()) { vector<int> currLevel; for (int sz = q.size(); sz > 0; --sz) { TreeNode* node = q.front(); q.pop(); currLevel.push_back(node->val); if (node->left) q.push(node->left); if (node->right) q.push(node->right); } ans.push_back(currLevel); } return ans; } };
Binary Tree Level Order Traversal Leetcode Solution in Java
class Solution { public List<List<Integer>> levelOrder(TreeNode root) { if (root == null) return new ArrayList<>(); List<List<Integer>> ans = new ArrayList<>(); Queue<TreeNode> q = new ArrayDeque<>(Arrays.asList(root)); while (!q.isEmpty()) { List<Integer> currLevel = new ArrayList<>(); for (int sz = q.size(); sz > 0; --sz) { TreeNode node = q.poll(); currLevel.add(node.val); if (node.left != null) q.offer(node.left); if (node.right != null) q.offer(node.right); } ans.add(currLevel); } return ans; } }
Note: This problem Binary Tree Level Order Traversal is generated by Leetcode but the solution is provided by Chase2learn This tutorial is only for Educational and Learning purposes.
NEXT: Binary Tree Zigzag Level Order Traversal Leetcode Solution