給定乙個單鏈表,把所有的奇數節點和偶數節點分別排在一起。請注意,這裡的奇數節點和偶數節點指的是節點編號的奇偶性,而不是節點的值的奇偶性。
請嘗試使用原地演算法完成。你的演算法的空間複雜度應為 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
/**
* definition for singly-linked list.
* public class listnode
* }*/class
solution
listnode j = head;
listnode o = head.next;
listnode firsto = head.next;
//儲存第乙個偶結點的位置
int count =
countlength
(head)
;//分別將奇結點和偶結點連線起來
while
(o.next != null)
//如果鍊錶的長度為偶數if(
(count%2)
==0)else
if(count%2!=
0)return head;
}//此函式用於計算鍊錶的長度
public
intcountlength
(listnode head)
return count;
}}
328 奇偶鍊錶
給定乙個單鏈表,把所有的奇數節點和偶數節點分別排在一起。請注意,這裡的奇數節點和偶數節點指的是節點編號的奇偶性,而不是節點的值的奇偶性。請嘗試使用原地演算法完成。你的演算法的空間複雜度應為 o 1 時間複雜度應為 o nodes nodes 為節點總數。示例 1 輸入 1 2 3 4 5 null輸...
328 奇偶鍊錶
題目描述 給定乙個單鏈表,把所有的奇數節點和偶數節點分別排在一起。請注意,這裡的奇數節點和偶數節點指的是節點編號的奇偶性,而不是節點的值的奇偶性。請嘗試使用原地演算法完成。你的演算法的空間複雜度應為 o 1 時間複雜度應為 o nodes nodes 為節點總數。示例 1 輸入 1 2 3 4 5 ...
328 奇偶鍊錶
給定乙個單鏈表,把所有的奇數節點和偶數節點分別排在一起。請注意,這裡的奇數節點和偶數節點指的是節點編號的奇偶性,而不是節點的值的奇偶性。請嘗試使用原地演算法完成。你的演算法的空間複雜度應為 o 1 時間複雜度應為 o nodes nodes 為節點總數。鍊錶的頭節點為奇煉表頭節點,下乙個節點為偶煉表...