From 7ff3a150b742619b951aa6f2d23558afb9f39d90 Mon Sep 17 00:00:00 2001 From: yi-ge Date: Wed, 13 May 2020 13:58:11 +0800 Subject: [PATCH] =?UTF-8?q?update:=20=E4=BA=8C=E5=8F=89=E6=A0=91=E7=9A=84?= =?UTF-8?q?=E5=B1=82=E5=BA=8F=E9=81=8D=E5=8E=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/tree/binary-tree-level-order-traversal.js | 8 ++++---- test/tree/binary-tree-level-order-traversal.test.js | 3 +++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/tree/binary-tree-level-order-traversal.js b/src/tree/binary-tree-level-order-traversal.js index bc4d46b..dae06bd 100644 --- a/src/tree/binary-tree-level-order-traversal.js +++ b/src/tree/binary-tree-level-order-traversal.js @@ -17,11 +17,11 @@ export const levelOrder = function (root) { const leave = queue.length // 记录这一层有几个 for (let i = 0; i < leave; i++) { // 一次性把固定个数的队列执行完 const node = queue.shift() - if (node.left) queue.push(node.left) - if (node.right) queue.push(node.right) - tmp.push(node.val) + if (node && node.left) queue.push(node.left) + if (node && node.right) queue.push(node.right) + if (node) tmp.push(node.val) } - res.push(tmp) + if (tmp.length) res.push(tmp) } return res diff --git a/test/tree/binary-tree-level-order-traversal.test.js b/test/tree/binary-tree-level-order-traversal.test.js index 208093f..6bba858 100644 --- a/test/tree/binary-tree-level-order-traversal.test.js +++ b/test/tree/binary-tree-level-order-traversal.test.js @@ -8,4 +8,7 @@ test('二叉树的层序遍历', () => { [9, 20], [15, 7] ]) + + const source1 = [] + expect(levelOrder(Tree.arrToTree(source1))).toEqual([]) })