从上到下打印二叉树 II
从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。
例如: 给定二叉树: [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
返回其层次遍历结果:
[
[3],
[9,20],
[15,7]
]
提示:
节点总数 <= 1000
来源:力扣(LeetCode) 链接:leetcode-cn.com/problems/co… 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路
遍历二叉树的时候,记录二叉树的节点是第几个,然后push进相对应的数组中即可
代码
var levelOrder = function (root) {
let stack = [];
getResult(root, 0, stack);
return stack;
};
function getResult(root, k, stack) {
if (!root) return;
if (!stack[k]) stack[k] = [];
stack[k].push(root.val);
getResult(root.left, k + 1, stack);
getResult(root.right, k + 1, stack);
return;
}