Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit c09fe79

Browse filesBrowse files
authored
Merge pull request #99 from MagicienDeCode/master
add kotlin solution for 328 Odd-Even-Linked-List.kt
2 parents d2651fa + 19cc137 commit c09fe79
Copy full SHA for c09fe79

File tree

Expand file treeCollapse file tree

1 file changed

+80
-0
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+80
-0
lines changed
+80Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
class OddEvenLinkedListKotlin328 {
2+
fun oddEvenList(head: ListNode?): ListNode? {
3+
if (head?.next?.next == null) {
4+
return head
5+
}
6+
val evenHead = head.next
7+
8+
var odd = head
9+
var even = head.next
10+
var current = even
11+
var count = 0
12+
while (current?.next != null) {
13+
current = current.next
14+
if (count % 2 == 0) {
15+
odd?.next = current
16+
odd = current
17+
} else {
18+
even?.next = current
19+
even = current
20+
}
21+
count++
22+
}
23+
even?.next = null
24+
odd?.next = evenHead
25+
return head
26+
}
27+
/*
28+
fun oddEvenList(head: ListNode?): ListNode? {
29+
if (head?.next?.next == null) {
30+
return head
31+
}
32+
val evenHead = head.next
33+
34+
var odd = head
35+
var even = head.next
36+
var current = even
37+
var isOdd = true
38+
while (current?.next != null) {
39+
current = current.next
40+
if (isOdd) {
41+
isOdd = !isOdd
42+
odd?.next = current
43+
odd = current
44+
} else {
45+
isOdd = !isOdd
46+
even?.next = current
47+
even = current
48+
}
49+
}
50+
even?.next = null
51+
odd?.next = evenHead
52+
return head
53+
}
54+
*/
55+
56+
class ListNode(var `val`: Int) {
57+
var next: ListNode? = null
58+
}
59+
}
60+
61+
fun main() {
62+
val node1 = OddEvenLinkedListKotlin328.ListNode(1)
63+
val node2 = OddEvenLinkedListKotlin328.ListNode(2)
64+
val node3 = OddEvenLinkedListKotlin328.ListNode(3)
65+
val node4 = OddEvenLinkedListKotlin328.ListNode(4)
66+
val node5 = OddEvenLinkedListKotlin328.ListNode(5)
67+
node1.next = node2
68+
node2.next = node3
69+
node3.next = node4
70+
node4.next = node5
71+
72+
val solution = OddEvenLinkedListKotlin328()
73+
var result = solution.oddEvenList(node1)
74+
75+
while (result?.next != null) {
76+
println(result.`val`)
77+
result = result.next
78+
}
79+
println(result?.`val`)
80+
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.