Qualcomm interview question

Reverse a linked list using a single traversal

Interview Answers

Anonymous

11 Aug 2010

It is simple. Figure it out.

Anonymous

8 Apr 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 }