Odd Even Linked List
MediumLinked List
Solution
import { ListNode } from '@algorithm/lib';
export function oddEvenList(head: ListNode | null): ListNode | null {
if (head === null) {
return null;
}
const [oddHead, evenHead] = [head, head.next];
let [oddNode, evenNode] = [oddHead, evenHead];
while (evenNode !== null && evenNode.next !== null) {
oddNode.next = evenNode.next;
oddNode = oddNode.next;
evenNode.next = oddNode.next;
evenNode = evenNode.next;
}
oddNode.next = evenHead;
return oddHead;
}