15.链表反转
题目描述
输入一个链表,反转链表后,输出新链表的表头。
PHead,pre, next分别指向当前结点, 前一个结点, 后一个结点,每次迭代先更新当前结点的指针,记录下个结点的指向,转向,指向前一个结点的指针后移
1 class Solution { 2 public: 3 ListNode* ReverseList(ListNode* pHead) { 4 ListNode* next = pHead; // 记录后一个结点 5 ListNode* pre = NULL; // 记录前一个结点, pHead指向当前结点 7 while(next){ 8 pHead = next; 9 next = pHead->next; 10 pHead->next = pre; 11 pre = pHead; // 指针后移 12 } 13 return pHead; 14 } 15 };