鍊錶 重排鍊錶(leetcode 143

2022-07-30 10:09:11 字數 783 閱讀 3801

這個題是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 ...