206.反转链表(附带源码)

一、思路

二、代码


206.反转链表(附带源码)_第1张图片

一、思路

将指针调转一个方向就行,很简单

206.反转链表(附带源码)_第2张图片

做法:

定义2个指针:prev、 cur、 next

当next为空时,循环结束

206.反转链表(附带源码)_第3张图片

思路清晰,操作清楚,开始敲代码。

二、代码


struct ListNode* reverseList(struct ListNode* head) {
    if(head == NULL)
    {
        return NULL;
    }
    struct ListNode *prev = NULL,*cur = head, *next = cur->next;
    while(next)
    {
        if(prev == NULL)
        {
            cur->next = NULL;
        }
        else
        {
            cur->next = prev;
        }
        prev = cur;
        cur = next;
        next = next->next;
    }
    cur->next = prev;
    return cur;
}

你可能感兴趣的:(力扣题目集,链表,数据结构)