A:
Create two pointers: one for the original list
and another one for the new list. Add the first node from the original
list to the new list and increment the original pointer.
From then on, get the top node (call it N) of the original list,
increment the original counter, set N.next equal to the new
pointer's value, and set the new pointer to N.