白菜刷LeetCode记-102. Binary Tree Level Order Traversal
中秋假期回来,个人还没有进入状态呢,题目看着有思路,但是却写不出来,题目如下:
这一题是考量广度优先遍历,这还是第一次遇到广度优先遍历的题目,想了许久,结果只能看答案了,诀窍就是定义一个参数用来记录层数。
代码如下:
/** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * this.left = this.right = null; * } */ /** * @param {TreeNode} root * @return {number[][]} */ var levelOrder = function(root) { let res = new Array(); helper(root, res, 0); return res; }; var helper = function(root, res, level){ if(root == null) return; if(res.length < level + 1){ res.push([]); } helper(root.left, res, level+1); helper(root.right, res, level+1); res[level].push(root.val); }
END