Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fun main() {
- val tree = Node(
- 1,
- listOf(
- Node(
- 2, listOf(
- Node(3),
- Node(4),
- Node(5)
- )
- ),
- Node(6)
- )
- )
- val list = preorder({ x -> print("$x ") }, tree) //.map { it.rootLabel }
- println()
- println(list)
- }
- fun preorder(transform: (Int) -> Unit, node: Node) : List<Node>{
- val els: () -> List<Node> = { node.subForest.flatMap { preorder(transform, it) }}
- transform(node.rootLabel)
- return listOf(node) + els.invoke()
- }
- data class Node(
- val rootLabel: Int,
- val subForest: List<Node> = emptyList()
- )
Advertisement
Add Comment
Please, Sign In to add comment