Rearrange a Linked List in Zig-Zag fashion Medium 0 attempts
GeeksforGeeks ↗

Rearrange a Linked List in Zig-Zag fashion

Medium Linked List GeeksforGeeks

Rearrange a linked list such that a < b > c < d > e ... (zig-zag pattern).

Example: 1→2→3→4 → 1→3→2→4

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

Swap Values

function zigZagList(head) {
  let curr = head, flag = true;
  while (curr && curr.next) {
    if ((flag && curr.val > curr.next.val) || (!flag && curr.val < curr.next.val))
      [curr.val, curr.next.val] = [curr.next.val, curr.val];
    curr = curr.next; flag = !flag;
  }
}

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

Saved in this browser only. Private to you.

JavaScript