Leetcode(鍊錶)奇偶鍊錶 c

2021-09-02 06:06:19 字數 737 閱讀 5562

給定乙個單鏈表,把所有的奇數節點和偶數節點分別排在一起。請注意,這裡的奇數節點和偶數節點指的是節點編號的奇偶性,而不是節點的值的奇偶性。

請嘗試使用原地演算法完成。你的演算法的空間複雜度應為 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指標,分別指向下乙個odd和even。邊界條件選用even和even->next。跳出迴圈後,將odd的最後乙個結點指向even的第乙個結點。

/**

* definition for singly-linked list.

* struct listnode

* };

*/class

solution

odd-

>next = even_first;

return head;}}

;

leetcode 鍊錶 328 奇偶鍊錶

leetcode 鍊錶專題 328 奇偶鍊錶 給定乙個單鏈表,把所有的奇數節點和偶數節點分別排在一起。請注意,這裡的奇數節點和偶數節點指的是節點編號的奇偶性,而不是節點的值的奇偶性。請嘗試使用原地演算法完成。你的演算法的空間複雜度應為 o 1 時間複雜度應為 o nodes nodes 為節點總數。...

LeetCode 奇偶鍊錶

給定乙個單鏈表,把所有的奇數節點和偶數節點分別排在一起。請注意,這裡的奇數節點和偶數節點指的是節點編號的奇偶性,而不是節點的值的奇偶性。請嘗試使用原地演算法完成。你的演算法的空間複雜度應為 o 1 時間複雜度應為 o nodes nodes 為節點總數。示例 1 輸入 1 2 3 4 5 null ...

Leetcode奇偶鍊錶

奇偶鍊錶分開本身比較基礎,這個題目劃歸mediu的原因是對於空間複雜度和時間複雜度的要求上,額外的空間複雜度只能為o 1 即額外使用的空間與輸入鍊錶的長度無關。問題的關鍵在於兩個指標,乙個指向當前的奇數節點,乙個指向當前的偶數節點。分別記為odd,even。首先讓奇數節點的next指向偶數節點的ne...