1. 題目原址
https://leetcode.com/problems/middle-of-the-linked-list/
2. 題目描述
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;
}
}