采用递归实现这个过程,先找到链表的最后一个节点然后向前返回NULL跟next的值即可:
struct ListNode{
int value;
ListNode *next;
};
ListNode* reverseList(ListNode *head){
if(head == NULL || head->next == NULL)
return head;
else{
ListNode* newHead = reverseList(head->next);
head->next->next = newHead;
head->next = NULL;
return newHead;
}
}