标签:
Reverse a singly linked list.
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* reverseList(struct ListNode* head) { if (head == NULL) return NULL; struct ListNode *tmp1 = head->next; //这里使用了head->next;所以head == NULL判断必须放上面 struct ListNode *tmp2 = head; if(head->next == NULL) return head; head = head->next; tmp2->next = NULL; while(head->next != NULL) { head = head->next; tmp1->next = tmp2; tmp2 = tmp1; tmp1 = head; } head->next = tmp2; return head; }
标签:
原文地址:http://www.cnblogs.com/dylqt/p/4837156.html