Considere que, no algoritmo em alto nível incompleto a seguir, L1 e L2 sejam apontador...

Considere que, no algoritmo em alto nível incompleto a seguir, L1 e L2 sejam apontadores para List, de modo que L2 seja inicialmente vazia, e A, B e C sejam apontadores para Node:

Se o objetivo desse algoritmo for "fazer com que L2 seja uma cópia invertida da lista L1", então o código representado por [código que falta] deve ser substituído por:

A

C := newNode(A^.value, B^.next);

B^.next := C;

A := A^.next;

B

C := newNode(A^.value, B^.next);

B^.next := C;

A := A^.next; B := C;

C

C := newNode(B^.value, B^.next);

A^.next := C;

A := A^.next;

D

C := newNode(A^.value, A^.next);

A^.next := A;

B := C;