206. 反转链表

47 阅读1分钟

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

image.png

题解思路:

1、准备变量 pre、next 以及 cur

2、cur不为空就依次循环,首先保存下一个元素的节点,然后cur的next指针指向head,pre来到cur的位置

然后cur = next;最后返回pre

    public ListNode reverseList(ListNode head) {
       if(head == null || head.next == null){
            return head;
        }
        ListNode pre  =  null;
        ListNode next =  null;
        ListNode cur = head;
        while(cur!=null){
            next = cur.next;
            cur.next = pre;
            pre = cur;
            cur = next;
        }
        return pre;
    
    }