Reverse a linked list using a single traversal
Anonymous
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 }
Check out your Company Bowl for anonymous work chats.