天天看點

【List-easy】206. Reverse Linked List 反轉連結清單

1. 題目原址

https://leetcode.com/problems/middle-of-the-linked-list/

2. 題目描述

【List-easy】206. Reverse Linked List 反轉連結清單

3. 題目大意

給定一個連結清單,反轉這個連結清單

4. 解題思路

  • 首先定義三個指針,目前指針cur, 目前指針的前一個指針 pre, 目前指針的後面的指針post
  • pre指向給定連結清單的頭, cur指針給定連結清單的後一個元素,然後将給定連結清單的頭指向null
  • 進入while循環,如果循環不為空,就進行反轉 。最後傳回pre

5. AC 代碼

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

繼續閱讀