Skip to content

Commit 37f01c6

Browse files
authored
Refactored Odd Even Linked Lists.java
1 parent a3fefa0 commit 37f01c6

File tree

1 file changed

+18
-15
lines changed

1 file changed

+18
-15
lines changed

Medium/Odd Even Linked Lists.java

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,26 @@
33
* public class ListNode {
44
* int val;
55
* ListNode next;
6-
* ListNode(int x) { val = x; }
6+
* ListNode() {}
7+
* ListNode(int val) { this.val = val; }
8+
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
79
* }
810
*/
911
class Solution {
10-
public ListNode oddEvenList(ListNode head) {
11-
if(head == null || head.next == null)
12-
return head;
13-
ListNode odd = head;
14-
ListNode even = head.next;
15-
ListNode evenHead = even;
16-
while(odd.next != null && even.next != null){
17-
odd.next = even.next;
18-
odd = odd.next;
19-
even.next = odd.next;
20-
even = even.next;
21-
}
22-
odd.next = evenHead;
23-
return head;
12+
public ListNode oddEvenList(ListNode head) {
13+
if (head == null || head.next == null) {
14+
return head;
2415
}
16+
ListNode oddIdxNode = head;
17+
ListNode evenIdxNodeStart = head.next;
18+
ListNode evenIdxNode = evenIdxNodeStart;
19+
while (evenIdxNode != null && evenIdxNode.next != null) {
20+
oddIdxNode.next = evenIdxNode.next;
21+
oddIdxNode = oddIdxNode.next;
22+
evenIdxNode.next = oddIdxNode.next;
23+
evenIdxNode = evenIdxNode.next;
24+
}
25+
oddIdxNode.next = evenIdxNodeStart;
26+
return head;
27+
}
2528
}

0 commit comments

Comments
 (0)