-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
когда val tmp: Self = findMax(node.left)!! делаешь и он возвращает null происходит очень плохо (потому что !!)
trees-3/trees/src/main/kotlin/bst/AbstractBST.kt
Lines 39 to 67 in 209197e
| } 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) | |
| } |
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels