Leetcode206(力扣206):反转链表

Leetcode206(力扣206):反转链表_第1张图片
思路:使用cur和pre这样一个指针对遍历链表,cur指向pre,每经过一次迭代,都实现pre指向cur,并且pre->next变为pre,pre变为cur,最后得到的cur即为链表的头节点指针。

class Solution 
{
public:
    ListNode* reverseList(ListNode* head) 
    {
         //定义出相邻的指针对
        ListNode* cur=nullptr;
        ListNode* pre=head;
        while(pre)
        {
            ListNode* temp=pre->next;  //先把pre->next找到并预留出来
            pre->next=cur; //pre指向cur
            cur=pre;
            pre=temp;
        }
        return cur;
    }
};

Leetcode206(力扣206):反转链表_第2张图片

你可能感兴趣的:(Leetcode)