难度:中等

    题目描述:
    给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。

    示例:

    1. 二叉树:[3,9,20,null,null,15,7],
    2. [
    3. [3],
    4. [9,20],
    5. [15,7]
    6. ]

    解题思路:

    var levelOrder = function(root) {
              if (!root) return [];
          let queue = [root];
          let res = [];
          while (queue.length > 0) {
            let currentLevel = [];
            let len = queue.length;
            while (len) {
              let cur = queue.shift();
              currentLevel.push(cur.val);
              if (cur.left) queue.push(cur.left);
              if (cur.right) queue.push(cur.right);
              len--;
            }
            res.push(currentLevel);
          }
          return res;
    };
    
    var levelOrder = function(root) {
        if(!root) return []
        let res = []
        dfs(root, 0, res)
        return res
    };
    
    function dfs(root, step, res){
      if(root){
        if(!res[step]) res[step] = []
        res[step].push(root.val)
        dfs(root.left, step + 1, res)
        dfs(root.right, step + 1, res)
      }
    }