From b24763e2498fb7dcf67c191f7d17f10a2b15c40a Mon Sep 17 00:00:00 2001 From: Oleksii Trekhleb Date: Thu, 5 Apr 2018 06:51:45 +0300 Subject: [PATCH] Fix binary tree node. --- src/data-structures/tree/BinaryTreeNode.js | 2 +- .../tree/__test__/BinaryTreeNode.test.js | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/data-structures/tree/BinaryTreeNode.js b/src/data-structures/tree/BinaryTreeNode.js index e0ed5668..6b0c5d2e 100644 --- a/src/data-structures/tree/BinaryTreeNode.js +++ b/src/data-structures/tree/BinaryTreeNode.js @@ -7,7 +7,7 @@ export default class BinaryTreeNode { } get height() { - if (!this.left && !this.left) { + if (!this.left && !this.right) { return 0; } diff --git a/src/data-structures/tree/__test__/BinaryTreeNode.test.js b/src/data-structures/tree/__test__/BinaryTreeNode.test.js index ffce779f..01453fef 100644 --- a/src/data-structures/tree/__test__/BinaryTreeNode.test.js +++ b/src/data-structures/tree/__test__/BinaryTreeNode.test.js @@ -140,4 +140,14 @@ describe('BinaryTreeNode', () => { expect(grandRight.height).toBe(0); expect(grandGrandLeft.height).toBe(0); }); + + it('should calculate node height for right nodes as well', () => { + const root = new BinaryTreeNode(1); + const right = new BinaryTreeNode(2); + + root.setRight(right); + + expect(root.height).toBe(1); + expect(right.height).toBe(0); + }); });