Segregate even and odd nodes in a Linked List Medium 0 attempts
GeeksforGeeks ↗

Segregate even and odd nodes in a Linked List

Medium Linked List GeeksforGeeks

Rearrange a linked list so all even-valued nodes come before odd-valued nodes.

Example: 17→15→8→12→10→5→4 → 8→12→10→4→17→15→5

Sample Input
Sample Output
Constraints
  • 1 <= N <= 10^4
Topics

Two Lists Merge

function segregateEvenOdd(head) {
  const even = {next:null}, odd = {next:null};
  let e = even, o = odd, curr = head;
  while (curr) {
    if (curr.val % 2 === 0) { e.next = curr; e = e.next; }
    else { o.next = curr; o = o.next; }
    curr = curr.next;
  }
  o.next = null; e.next = odd.next;
  return even.next;
}

Time: O(n) | Space: O(1)

Saved in this browser only. Private to you.

JavaScript