Skip to content

findMax assertion #10

@ancavar

Description

@ancavar

когда val tmp: Self = findMax(node.left)!! делаешь и он возвращает null происходит очень плохо (потому что !!)

} else {
val tmp: Self = findMax(node.left)!!
node.key = tmp.key
node.value = tmp.value
node.left = removeNode(node.left, tmp.key)
}
}
return node
}
override fun find(key: K): V? = findNode(rootNode, key)
private fun findNode(node: Self?, key: K): V? {
return if (node == null) {
null
} else if (key == node.key) {
node.value
} else {
if (key < node.key)
findNode(node.left, key)
else
findNode(node.right, key)
}
}
protected fun findMax(node: Self?): Self? = when {
node == null -> null
node.right == null -> node
else -> findMax(node.right)
}

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions