给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。
例如,给定一个 3叉树 :
返回其层序遍历:
[ [1], [3,2,4], [5,6] ]
说明:
树的深度不会超过 1000。 树的节点总数不会超过 5000。
/** * // Definition for a Node. * function Node(val,children) { * this.val = val; * this.children = children; * }; */ /** * @param {Node} root * @return {number[][]} */ var levelOrder = function(root) { const q = []; const res = []; if(!root) return q; let h=0; root.height = h; q.push(root); while(q.length !== 0) { const top = q.shift(); const h = top.height; if(!res[h]) { res[h] = []; } res[h].push(top.val); for(let child of top.children) { child.height = h + 1; q.push(child); } } return res; };