/* * @Description: 102. Binary Tree Level Order Traversal * @Author: libk * @Github: https://github.com/libk */ /** * 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[][]} */ const levelOrder = function(root) { if (!root) { return [] } let res = [] let queue = [root]
while (queue.length) { let curLength = queue.length let curLevel = [] for (let i = 0; i < curLength; i++) { let cur = queue.shift() curLevel.push(cur.val) if (cur.left) { queue.push(cur.left) } if (cur.right) { queue.push(cur.right) } } res.push(curLevel) } return res }