每日刷題 奇偶鍊錶

2021-09-08 16:03:28 字數 955 閱讀 5720

請嘗試使用原地演算法完成。你的演算法的空間複雜度應為 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

解答:這道題邏輯很簡單,設定兩個指標 oddp, evenp, 分別指向第乙個和第二個結點,設定遍歷指標p,標誌flag,當flag = -1時,要用oddp來接上p->next->next, 當flag = 1時候,要用evenp來接上p->next->next.

尤其需要注意的是,由於是在原煉表上進行操作,千萬不能斷鏈。

**:

/**

* definition for singly-linked list.

* struct listnode

* };

*/class

solution

else

if( flag ==1)

pre = p;

}else

break;}

evenp-

>next =

null

; oddp-

>next = evenhead;

return oddhead;}}

;

執行結果:

刷題04 奇偶鍊錶

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

每日刷題 旋轉鍊錶

示例 1 輸入 1 2 3 4 5 null,k 2 輸出 4 5 1 2 3 null 解釋 向右旋轉 1 步 5 1 2 3 4 null 向右旋轉 2 步 4 5 1 2 3 null 示例 2 輸入 0 1 2 null,k 4 輸出 2 0 1 null 解釋 向右旋轉 1 步 2 0 1...

每日leetcode 奇偶鍊錶

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