简单讲解翻转链表+(完整代码)

11 阅读1分钟

题目

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

示例 1:

示例 2:

题解

根据题目"给你单链表的头节点 head ,请你反转链表,并返回反转后的链表"以及示例。

可以知道题目要求:把一个单链表进行翻转并输出。

图解

完整代码

public ListNode reverseList() {
    //空节点
    if(head == null) {
        return head;
    }
    //只有一个节点
    if (head.next == null) {
        return head;
    }
    ListNode cur = head.next;
    head.next = null;

    while(cur != null) {
        ListNode curNext = cur.next;
        cur.next = head;
        head = cur;
        cur = curNext;
    }
    return head;
}