1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
SinglyLinkedListNode* reverse(SinglyLinkedListNode* llist) { if(!llist) return nullptr; SinglyLinkedListNode* curr = llist; SinglyLinkedListNode* prev = nullptr; while(curr) { SinglyLinkedListNode* next = curr->next; curr->next = prev; prev = curr; curr = next; } return prev; }