Leetcode奇偶鍊錶

2021-10-10 12:58:47 字數 644 閱讀 6525

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

首先讓奇數節點的next指向偶數節點的next,即指向下乙個奇數節點,而後讓odd指向下乙個奇數節點即odd.next。

類似的讓偶數節點odd的next指向此時奇數節點的next即下乙個偶數節點,然後令odd=odd.next。重複上述操作,直到鍊錶的結束。

需要注意的是,在結束時,節點個數是偶數個,會出現最後乙個迴圈,奇數節點指空的情況,此時偶數節點位置會出現空指標異常,需要額外處理。具體處理方式見**。

**如下(示例):

class solution 

listnode even=head.next;

listnode evenhead=head.next;

//偶數頭結點,用於拼接

listnode odd=head;

while

(even!=null&&odd!=null)

odd.next=evenhead;

return head;

}}

LeetCode 奇偶鍊錶

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

leetcode 奇偶鍊錶

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

Leetcode(鍊錶)奇偶鍊錶 c

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