题解 | #求二叉树的层序遍历#
求二叉树的层序遍历
https://www.nowcoder.com/practice/04a5560e43e24e9db4595865dc9c63a3
/* * function TreeNode(x) { * this.val = x; * this.left = null; * this.right = null; * } */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @return int整型二维数组 */ function levelOrder(root) { // write code here if (!root) { return []; } const result = []; const traversal = (node, level) => { if (!result[level]) { result[level] = []; } result[level].push(node.val); if (node.left || node.right) { level++; } if (node.left) { traversal(node.left, level); } if (node.right) { traversal(node.right, level); } }; traversal(root, 0); return result; } module.exports = { levelOrder: levelOrder, };
解题思路:每次遍历下一层级,就新增一个二维数组的数组元素,顶级从0开始
#求二叉树的层序遍历#