Skip to content

Commit fd994a6

Browse files
authored
Create 0725-split-linked-list-in-parts.kt
1 parent ff16da4 commit fd994a6

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

Diff for: kotlin/0725-split-linked-list-in-parts.kt

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
class Solution {
2+
fun splitListToParts(head: ListNode?, k: Int): Array<ListNode?> {
3+
var n = 0
4+
var cur = head
5+
while (cur != null) {
6+
cur = cur?.next
7+
n++
8+
}
9+
10+
val len = n / k
11+
var rem = n % k
12+
13+
cur = head
14+
val res = arrayOfNulls<ListNode?>(k)
15+
for (i in 0 until k) {
16+
res[i] = cur
17+
18+
val end = (len - 1) + if (rem > 0) 1 else 0
19+
for (j in 0 until end) {
20+
cur?: break
21+
cur = cur?.next
22+
}
23+
24+
if (rem > 0) rem--
25+
if (cur != null) {
26+
val temp = cur?.next
27+
cur.next = null
28+
cur = temp
29+
}
30+
}
31+
32+
return res
33+
}
34+
}

0 commit comments

Comments
 (0)