這個題是2023年408原題,就是我考研那年的題目,想想一年過去了,還是有點感慨的,希望明年這個時候的自己比現在更厲害吧
三個步驟:
(1)找到中間結點
(2)反轉右半部分,記得將左半部分最後乙個的next指標指向null(不要留野指標
(3)根據題目要求左邊取乙個,右邊取乙個
**:
public class solution143
return temp1;
}public void reorderlist(listnode head)
listnode fast = head;
listnode slow = head;
while (fast.next != null && fast.next.next != null)
listnode right = slow.next;
slow.next = null;
listnode rightreverse = reverse(right);
listnode dummy = new listnode(-1);
listnode temp = dummy;
listnode lefttemp = head;
listnode righttemp = rightreverse;
while (lefttemp != null && righttemp != null)
temp.next = lefttemp;
}}
leetcode 重排鍊錶
1.使用快慢指標,將鍊錶分成前後兩個部分 listnode fast head listnode slow head while fast null fast.next null listnode mid slow solw指向中間節點 listnode first head listnode se...
重排鍊錶(LeetCode)
題目鏈結 給定乙個單鏈表 l l0 l1 ln 1 ln 將其重新排列後變為 l0 ln l1 ln 1 l2 ln 2 你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。示例 1 給定鍊錶 1 2 3 4,重新排列為 1 4 2 3.示例 2 給定鍊錶 1 2 3 4 5,重新排列為 ...
鍊錶 LeetCode143 重排鍊錶
題目 給定乙個單鏈表 l l0 l1 ln 1 ln 將其重新排列後變為 l0 ln l1 ln 1 l2 ln 2 你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。示例 1 給定鍊錶 1 2 3 4,重新排列為 1 4 2 3.示例 2 給定鍊錶 1 2 3 4 5,重新排列為 1 ...