給定乙個單鏈表,把所有的奇數節點和偶數節點分別排在一起。請注意,這裡的奇數節點和偶數節點指的是節點編號的奇偶性,而不是節點的值的奇偶性。請嘗試使用原地演算法完成。你的演算法的空間複雜度應為 o(1),時間複雜度應為 o(nodes),nodes 為節點總數。
示例 1:
輸入: 1->2->3->4->5->null
輸出: 1->3->5->2->4->null
示例 2:
輸入: 2->1->3->5->6->4->7->null
輸出: 2->3->6->7->1->5->4->null
說明:應當保持奇數節點和偶數節點的相對順序。
鍊錶的第乙個節點視為奇數節點,第二個節點視為偶數節點,以此類推。
-把奇數結點和偶數結點分離成兩條鍊錶,最後連線成一條即可。
- 用odd遍歷奇數結點,even遍歷偶數結點。
- 用evenhead記錄偶數結點鍊錶的頭結點。
-遍歷結束時odd指向奇數結點鍊錶的末尾,執行odd.next=evenhead就可將兩條鍊錶連線。
class
solution
odd.next=evenhead;
return head;
}}
- 初始鍊錶為1->2->3->4->5->null時的**演示如下:
LeetCode 328 奇偶鍊錶
給定乙個單鏈表,把所有的奇數節點和偶數節點分別排在一起。請注意,這裡的奇數節點和偶數節點指的是節點編號的奇偶性,而不是節點的值的奇偶性。請嘗試使用原地演算法完成。你的演算法的空間複雜度應為 o 1 時間複雜度應為 o nodes nodes 為節點總數。示例 1 輸入 1 2 3 4 5 null ...
LeetCode 328 奇偶鍊錶
給定乙個單鏈表,把所有的奇數節點和偶數節點分別排在一起。請注意,這裡的奇數節點和偶數節點指的是節點編號的奇偶性,而不是節點的值的奇偶性。請嘗試使用原地演算法完成。你的演算法的空間複雜度應為 o 1 時間複雜度應為 o nodes nodes 為節點總數。示例 1 輸入 1 2 3 4 5 null輸...
Leetcode328 奇偶鍊錶
給定乙個單鏈表,把所有的奇數節點和偶數節點分別排在一起。請注意,這裡的奇數節點和偶數節點指的是節點編號的奇偶性,而不是節點的值的奇偶性。請嘗試使用原地演算法完成。你的演算法的空間複雜度應為 o 1 時間複雜度應為 o nodes nodes 為節點總數。示例 1 輸入 1 2 3 4 5 null ...