【剑指offer】24、反转链表

题目

输入一个链表,反转链表后,输出新链表的表头。

思路一

将pre->pNode->pNext 改为 pre<- pNode pNext 后,无法再访问到pNext,因此要用三个指针来存储。

class Solution {
public:
    ListNode* ReverseList(ListNode* pHead) {
        ListNode* pNode = pHead;
        ListNode* pre = nullptr;
        ListNode* LastNode = nullptr;
        
        while (pNode){
            ListNode* pNext = pNode->next;
            if (pNext == nullptr)
                LastNode = pNode;
            
            pNode->next = pre;
            pre = pNode;
            pNode = pNext;
        }
        return LastNode;
    }
};

猜你喜欢

转载自www.cnblogs.com/shiganquan/p/9341146.html