剑指offer 15.链表反转

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 };
原文地址:https://www.cnblogs.com/hi3254014978/p/12333192.html