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

48 阅读1分钟

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

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

中等

题目描述

给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)

示例 1:

image.png

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

示例 2:

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

示例 3:

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

  提示:

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

我的实现

/**
 * @param {TreeNode} root
 * @return {number[][]}
 */
var levelOrderBottom = 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.reverse()

};