Qualcomm Interview Question

Reverse a linked list using a single traversal

Interview Answers

Anonymous

Aug 11, 2010

It is simple. Figure it out.

Anonymous

Apr 8, 2012

void reverseList(List *head, List *rev) { List *node; // Assuming valid head & rev list entry rev->Next = NULL; while (head->Next) { // remove a node from head list node = head->Next; head->Next = node->Next; // push the node in front of rev list node->Next = rev->Next; rev->Next = node; } if(rev->Next == NULL) rev = head; // no node in head list }