Skip to content

Commit f46ce28

Browse files
committed
7주차
1 parent 6dd8755 commit f46ce28

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

reverse-linked-list/jdalma.kt

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package leetcode_study
2+
3+
import io.kotest.matchers.shouldBe
4+
import org.junit.jupiter.api.Test
5+
6+
class `reverse-linked-list` {
7+
8+
/**
9+
* TC : O(n), SC: O(1)
10+
*/
11+
fun reverseList(head: ListNode?): ListNode? {
12+
var prev: ListNode? = null
13+
var next: ListNode? = null
14+
var curr: ListNode? = head
15+
16+
while (curr != null) {
17+
next = curr.next
18+
curr.next = prev
19+
prev = curr
20+
curr = next
21+
}
22+
23+
return prev
24+
}
25+
26+
@Test
27+
fun `입력 받은 단일 리스트를 반전하고 반전한 목록을 반환한다`() {
28+
reverseList(ListNode(1, ListNode(2, ListNode(3, ListNode(4, ListNode(5))))))
29+
shouldBe(ListNode(5, ListNode(4, ListNode(3, ListNode(2, ListNode(1))))))
30+
}
31+
}
32+
33+
class ListNode(
34+
var `val`: Int,
35+
var next: ListNode? = null
36+
)

0 commit comments

Comments
 (0)