题目描述
输入一个链表,反转链表后,输出链表的所有元素。
思路:三个指针,遍历反转
1 class Solution { 2 public: 3 ListNode* ReverseList(ListNode* pHead) { 4 ListNode *p1=pHead; 5 ListNode *p2=NULL; 6 ListNode *p3=NULL; 7 if(p1)p2=p1->next; 8 else return NULL; 9 p1->next=NULL; 10 while(p2) 11 { 12 p3=p2->next; 13 p2->next=p1; 14 p1=p2; 15 p2=p3; 16 } 17 return p1; 18 } 19 };