所有題目源**:git位址
題目
給定乙個單鏈表 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
->5-
>2-
>4-
>
3.通過次數71
,216提交次數119
,487
方案:/**
* definition for singly-linked list.
* struct listnode
* listnode(int x) : val(x), next(nullptr) {}
* listnode(int x, listnode *next) : val(x), next(next) {}
* };
*/class
solution
slow = pre-
>next;
pre-
>next = null;
listnode *tmp1,
*tmp2;
tmp1 = slow;
slow = slow-
>next;
tmp1-
>next = null;
while
(slow != null)
slow = head;
while
(slow != null)
else}}
};
複雜度計算 143 重排鍊錶
143.重排鍊錶 給定乙個單鏈表 l l0 l1 l n 1 ln 將其重新排列後變為 l0 l n l1 l n 1 l2 l n 2 你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。示例 1 給定鍊錶 1 2 3 4,重新排列為 1 4 2 3.示例 2 給定鍊錶 1 2 3 4 ...
143 重排鍊錶
題解 時間複雜度 o n 空間複雜度 o n definition for singly linked list.struct listnode listnode int x val x next nullptr listnode int x,listnode next val x next nex...
143 重排鍊錶
題目 給定乙個單鏈表 l l0 l1 l n 1 ln 將其重新排列後變為 l0 l n l1 l n 1 l2 l n 2 你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。示例 1 給定鍊錶 1 2 3 4,重新排列為 1 4 2 3.示例 2 給定鍊錶 1 2 3 4 5,重新排列...