function levelOrder(root) { const res = []; const queue = [root]; while(queue.length) { const leve = []; const len = queue.length; for(let i = 0; i < len; i++) { const node = queue.shift(); leve.push(node.data); if (node.children) queue.push(...node.children); } res.push(leve); } return res; }