mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-04 15:39:42 +08:00
merge: Let traverseLevel return early if node is null (#878)
This commit is contained in:
@ -19,7 +19,7 @@ class BinaryTree {
|
||||
|
||||
breadthFirst () {
|
||||
const h = this.getHeight(this.root)
|
||||
for (let i = 1; i <= h; i++) {
|
||||
for (let i = 0; i !== h; i++) {
|
||||
this.traverseLevel(this.root, i)
|
||||
}
|
||||
return this.traversal
|
||||
@ -27,23 +27,23 @@ class BinaryTree {
|
||||
|
||||
// Computing the height of the tree
|
||||
getHeight (node) {
|
||||
if (node == null) {
|
||||
if (node === null) {
|
||||
return 0
|
||||
} else {
|
||||
const lheight = this.getHeight(node.left)
|
||||
const rheight = this.getHeight(node.right)
|
||||
return lheight > rheight ? lheight + 1 : rheight + 1
|
||||
}
|
||||
const lheight = this.getHeight(node.left)
|
||||
const rheight = this.getHeight(node.right)
|
||||
return lheight > rheight ? lheight + 1 : rheight + 1
|
||||
}
|
||||
|
||||
traverseLevel (node, level) {
|
||||
if (level === 1 && node !== null) {
|
||||
traverseLevel (node, levelRemaining) {
|
||||
if (node === null) {
|
||||
return
|
||||
}
|
||||
if (levelRemaining === 0) {
|
||||
this.traversal.push(node.data)
|
||||
} else {
|
||||
if (node !== null) {
|
||||
this.traverseLevel(node.left, level - 1)
|
||||
this.traverseLevel(node.right, level - 1)
|
||||
}
|
||||
this.traverseLevel(node.left, levelRemaining - 1)
|
||||
this.traverseLevel(node.right, levelRemaining - 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user