Last updated on July 18th, 2024 at 03:00 am
Here, We see Binary Tree Level Order Traversal LeetCode Solution. This Leetcode problem is done in many programming languages like C++, Java, JavaScript, Python, etc. with different approaches.
List of all LeetCode Solution
Topics
Breadth First Search, Tree
Companies
Amazon, Apple, Bloomberg, Facebook, LinkedIn, Microsoft
Level of Question
Medium
![Binary Tree Level Order Traversal LeetCode Solution](https://i0.wp.com/totheinnovation.com/wp-content/uploads/2024/02/LeetCode-Problem-Solution.png?resize=200%2C200&ssl=1)
Binary Tree Level Order Traversal LeetCode Solution
Table of Contents
Problem Statement
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:
![tree1](https://i0.wp.com/assets.leetcode.com/uploads/2021/02/19/tree1.jpg?w=1400&ssl=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: []
1. Binary Tree Level Order Traversal LeetCode Solution C++
class Solution { public: vector<vector<int>> levelOrder(TreeNode* root) { vector<vector<int>>ans; if(root==NULL)return ans; queue<TreeNode*>q; q.push(root); while(!q.empty()){ int s=q.size(); vector<int>v; for(int i=0;i<s;i++){ TreeNode *node=q.front(); q.pop(); if(node->left!=NULL)q.push(node->left); if(node->right!=NULL)q.push(node->right); v.push_back(node->val); } ans.push_back(v); } return ans; } };
2. Binary Tree Level Order Traversal LeetCode Solution Java
class Solution { public List<List<Integer>> levelOrder(TreeNode root) { List<List<Integer>>al=new ArrayList<>(); pre(root,0,al); return al; } public static void pre(TreeNode root,int l,List<List<Integer>>al) { if(root==null) return; if(al.size()==l) { List<Integer>li=new ArrayList<>(); li.add(root.val); al.add(li); } else al.get(l).add(root.val); pre(root.left,l+1,al); pre(root.right,l+1,al); } }
3. Binary Tree Level Order Traversal Solution JavaScript
var levelOrder = function(root) { let q = [root], ans = [] while (q[0]) { let qlen = q.length, row = [] for (let i = 0; i < qlen; i++) { let curr = q.shift() row.push(curr.val) if (curr.left) q.push(curr.left) if (curr.right) q.push(curr.right) } ans.push(row) } return ans };
4. Binary Tree Level Order Traversal Solution Python
class Solution(object): def levelOrder(self, root): if not root: return [] Q = deque([root]) levels = [[root.val]] temp = deque() while Q: node = Q.popleft() if node.left: temp.append(node.left) if node.right: temp.append(node.right) if not Q: if temp: levels.append([n.val for n in temp]) Q = temp temp = deque() return levels