Skip to content

Commit 31b06c9

Browse files
merge: Let traverseLevel return early if node is null (#878)
1 parent 7dd99c1 commit 31b06c9

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

Trees/BreadthFirstTreeTraversal.js

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,31 +19,31 @@ class BinaryTree {
1919

2020
breadthFirst () {
2121
const h = this.getHeight(this.root)
22-
for (let i = 1; i <= h; i++) {
22+
for (let i = 0; i !== h; i++) {
2323
this.traverseLevel(this.root, i)
2424
}
2525
return this.traversal
2626
}
2727

2828
// Computing the height of the tree
2929
getHeight (node) {
30-
if (node == null) {
30+
if (node === null) {
3131
return 0
32-
} else {
33-
const lheight = this.getHeight(node.left)
34-
const rheight = this.getHeight(node.right)
35-
return lheight > rheight ? lheight + 1 : rheight + 1
3632
}
33+
const lheight = this.getHeight(node.left)
34+
const rheight = this.getHeight(node.right)
35+
return lheight > rheight ? lheight + 1 : rheight + 1
3736
}
3837

39-
traverseLevel (node, level) {
40-
if (level === 1 && node !== null) {
38+
traverseLevel (node, levelRemaining) {
39+
if (node === null) {
40+
return
41+
}
42+
if (levelRemaining === 0) {
4143
this.traversal.push(node.data)
4244
} else {
43-
if (node !== null) {
44-
this.traverseLevel(node.left, level - 1)
45-
this.traverseLevel(node.right, level - 1)
46-
}
45+
this.traverseLevel(node.left, levelRemaining - 1)
46+
this.traverseLevel(node.right, levelRemaining - 1)
4747
}
4848
}
4949
}

0 commit comments

Comments
 (0)