【我的leetcode日记】102. 二叉树的层序遍历——js

55 阅读1分钟

仅记录自己刷题过程,顺便督促自我学习~

来源链接:leetcode.cn/problems/bi…

中等

题目描述

给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。

示例 1:

输入:root = [3,9,20,null,null,15,7]  
输出:[[3],[9,20],[15,7]]  

示例 2:

输入:root = [1]  
输出:[[1]]

示例 3:

输入:root = []  
输出:[] 

  提示:

  • 树中节点数目在范围 [0, 2000] 内
  • -1000 <= Node.val <= 1000

我的实现

/**
 * @param {TreeNode} root
 * @return {number[][]}
 */
var levelOrder = function(root) {
    let arr=[]
    let work = (root, depth)=>{
        if(!root) return;
        
        if(!arr[depth]){
            arr[depth]=[]
        }
        const {val,left,right}=root

        arr[depth].push(val)

        left&&work(left,depth+1)
        right&&work(right,depth+1)
    }

    work(root,0)
    return arr;
};