Rearrange a Linked List in Zig-Zag fashion
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.