题目:
解答:
1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListNode *next; 6 * ListNode(int x) : val(x), next(NULL) {} 7 * }; 8 */ 9 class Solution { 10 public: 11 ListNode* reverseList(ListNode* head) 12 { 13 if (NULL == head || NULL == head->next) 14 { 15 return head; 16 } 17 18 ListNode *p1; 19 ListNode *p2; 20 ListNode *p3; 21 22 p1 = head; 23 p2 = head->next; 24 while (p2 != NULL) 25 { 26 p3 = p2->next; 27 p2->next = p1; 28 p1 = p2; 29 p2 = p3; 30 } 31 32 head->next = NULL; 33 head = p1; 34 35 return head; 36 } 37 };
原文:https://www.cnblogs.com/ocpc/p/12857224.html