429. N 叉树的层序遍历
给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。
树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。
链接
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
function levelOrder(root: Node | null): number[][] { const res: number[][] = [] if (root === null) return res const nodeQues: Node[] = [root] while(nodeQues.length > 0) { const nodes = nodeQues.splice(0) const len = nodes.length const levelRes = [] for(let i = 0;i < len; i++) { const node = nodes[i] if (node) { const { val, children } = node levelRes.push(val) const clen = children.length for(let j = 0; j < clen; j++) { const node = children[j] node && nodeQues.push(node) } } } levelRes.length > 0 && res.push(levelRes) } return res };
|