Domanda di colloquio di Cisco

Whiteboard coding: Reverse a linked list.

Risposte di colloquio

Anonimo

16 gen 2015

Read it from start to end, build it from end to start.

Anonimo

23 gen 2015

Read it from start to end, use temp variables to swap direction of pointers. For a linked list of integers that takes in a head pointer and returns a pointer to the head of the reversed list: int* reverseLL(int * head){ if(!head || !head->next) return head; int *prev = NULL; int *next = head; while(next){ head = next; next = next->next; head->next = prev; prev = head; } return head; }