Skip to content

Commit e24255d

Browse files
REFACTOR: code optimized using scope function
1 parent cc9e765 commit e24255d

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

src/kotlin_lang/lists/singly_linked_list/SinglyLinkedList.kt

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,17 @@ class SinglyLinkedList<T> : Collection<T> {
88
var head: Node<T>? = null
99

1010
override fun add(element: T): Boolean {
11-
return if (head == null) {
12-
head = Node(element, null)
13-
true
14-
} else {
15-
var currentNode = head
16-
17-
while (currentNode?.nextRef != null) {
18-
currentNode = currentNode.nextRef
11+
head?.let {
12+
var currentNode = it
13+
while (currentNode.nextRef != null) {
14+
currentNode = currentNode.nextRef!!
1915
}
20-
currentNode?.nextRef = Node(element, null)
16+
currentNode.nextRef = Node(element, null)
17+
return true
18+
} ?: run {
19+
head = Node(element, null)
2120
return true
2221
}
23-
2422
}
2523

2624
data class Node<T>(var info: T, var nextRef: Node<T>?)

0 commit comments

Comments
 (0)