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); + }); });