Slide 9
Slide 9 text
Case 2: ࠶ؼݺͼग़͠Λར༻
fun search(valueToFind: Int, root: Node): Node? =
innerSearch(valueToFind, listOf(root))
tailrec fun innerSearch(valueToFind: Int, queue: List): Node? {
val node = queue.getOrNull(0)
if (node == null || node.value == valueToFind) {
return node
}
val nextQueue = queue.subList(1, queue.size) +
(node.left?.let { listOf(it) } ?: emptyList()) +
(node.right?.let { listOf(it) } ?: emptyList())
return innerSearch(valueToFind, nextQueue)
}
ঢ়ଶ > ಋೖ