Skip to content

Instantly share code, notes, and snippets.

@Rutvik17
Created August 9, 2021 02:14
Show Gist options
  • Save Rutvik17/15b11f3acaa162eec97e187cb9edaedd to your computer and use it in GitHub Desktop.
Save Rutvik17/15b11f3acaa162eec97e187cb9edaedd to your computer and use it in GitHub Desktop.
Binary Tree Level Order Traversal LeetCode
/*
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
*/
/**
* Definition for a binary tree node.
* function TreeNode(val, left, right) {
* this.val = (val===undefined ? 0 : val)
* this.left = (left===undefined ? null : left)
* this.right = (right===undefined ? null : right)
* }
*/
/**
* @param {TreeNode} root
* @return {number[][]}
*/
var levelOrder = function(root) {
if (!root) return [];
const arr = [root], result = [];
while (arr.length) {
const size = arr.length, values = [];
for (let i = 0; i < size; i++) {
const node = arr.shift()
values.push(node.val)
if (node.left) arr.push(node.left)
if (node.right) arr.push(node.right)
}
result.push(values)
}
return result
};
const root = [3,9,20,null,null,15,7];
console.log(levelOrder(root));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment