LeetCode 328 奇偶鍊錶

2022-10-08 16:36:29 字數 1123 閱讀 2181

328. 奇偶鍊錶

給定單鏈表的頭節點head,將所有索引為奇數的節點和索引為偶數的節點分別組合在一起,然後返回重新排序的列表。

第乙個節點的索引被認為是奇數第二個節點的索引為偶數,以此類推。

請注意,偶數組和奇陣列內部的相對順序應該與輸入時保持一致。

你必須在o(1)的額外空間複雜度和o(n)的時間複雜度下解決這個問題。

示例 1:

輸入:head = [1,2,3,4,5]

輸出:[1,3,5,2,4]

示例 2:

輸入:head = [2,1,3,5,6,4,7]

輸出:[2,3,6,7,1,5,4]

本題其實比較容易想,就是需要將原來的鍊錶拆分為兩個鍊錶,最後將它們拼接在一起就行了。

這裡可以通過一次遍歷就將這兩個鍊錶分開,最後只要將偶數鍊錶接在奇數鍊錶後就達到了目的。

/**

* definition for singly-linked list.

* public class listnode

* listnode(int val)

* listnode(int val, listnode next)

* }*/class solution

listnode evenhead = head.next;

listnode odd = head, even = evenhead;

while(even != null && even.next != null)

odd.next = evenhead;

return head;}}

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 ...