题目:
二叉树的层序遍历
给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。
示例:
二叉树:[3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
返回其层次遍历结果:
[
[3],
[9,20],
[15,7]
]
思路:
定义递归函数三个值分别是:当前节点,返回数组,当前层数。
如果数组的长度大于等于当前层数则在新建一个二维数组,
将当前节点的值加到当前层数二维数组的后面,
然后对左右子树进行遍历,因为子树是下一层的节点所以遍历时层数应当+1。
代码:
/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} root
* @return {number[][]}
*/
var emmm=function(root,num,b){
if(root!=null){
var c=num.length;
if(c==b)
num[c