力扣 206反转链表

Posted 霜序0.2℃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了力扣 206反转链表相关的知识,希望对你有一定的参考价值。

题目

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

示例 1:

输入:head = [1,2,3,4,5]
输出:[5,4,3,2,1]
示例 2:

输入:head = [1,2]
输出:[2,1]
示例 3:

输入:head = []
输出:[]

提示:

链表中节点的数目范围是 [0, 5000]
-5000 <= Node.val <= 5000

解释与代码

将next指针指向上一个结点

即迭代做法

class Solution 
public:
    ListNode* reverseList(ListNode* head) 
        ListNode* node = NULL;
        ListNode* sw = NULL;
        while (head) 
            sw = head->next;
            head->next = node;
            node = head;
            head = sw;
        
        return node;
    
;

以上是关于力扣 206反转链表的主要内容,如果未能解决你的问题,请参考以下文章

力扣 206反转链表

力扣 206反转链表

力扣算法JS LC [203. 移除链表元素] LC [206. 反转链表]

力扣206 反转链表

力扣206 反转链表

精选力扣500题 第1题 LeetCode 206. 反转链表 c++详细题解