328. 奇偶鍊錶
維護兩個指標 odd 和 even 分別指向奇數節點和偶數節點,初始時 odd = head,even = evenhead。通過迭代的方式將奇數節點和偶數節點分離成兩個鍊錶,每一步首先更新奇數節點,然後更新偶數節點。最後把偶數節點拼接在奇數節點後面即可。
/**
* definition for singly-linked list.
* public class listnode
* listnode(int val)
* listnode(int val, listnode next)
* }*/class solution
//鍊錶的經典解法,3指標!!!!!!
listnode dum = head;
listnode pre = head;
listnode cur = head.next;
listnode temp = cur.next;
int tot = 0;
//根據鍊錶長度決定兩兩元素交換的次數
if(count % 2 == 0) tot = count / 2 - 1;
else tot = count / 2;
while(tot > 0)
tot--;
dum = dum.next;
pre = dum;
cur = pre.next;
temp = cur.next;
}return head;}}
/**
* definition for singly-linked list.
* public class listnode
* listnode(int val)
* listnode(int val, listnode next)
* }*/class solution
odd.next = evenhead;
even.next = null;
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 ...