从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。
例如:
给定二叉树: [3,9,20,null,null,15,7],
3<br /> / \<br /> 9 20<br /> / \<br /> 15 7<br />返回其层次遍历结果:
思路
- 和层序遍历一致
levelSize = q.length;- 每次使用temp数组收集整层的元素
最后再push到结果数组
const levelOrder = function (root) { if (!root) return []; const q = [root]; const ret = []; while (q.length !== 0) { let levelSize = q.length; let temp = []; let i = 0; for (; i < levelSize; i++) { let node = q.shift(); temp.push(node.val); if(node.left) q.push(node.left); if(node.right) q.push(node.right); } ret.push(temp); } return ret; };
