給定乙個單鏈表,把所有的奇數節點和偶數節點分別排在一起。請注意,這裡的奇數節點和偶數節點指的是節點編號的奇偶性,而不是節點的值的奇偶性。請嘗試使用原地演算法完成。你的演算法的空間複雜度應為 o(1),時間複雜度應為 o(nodes),nodes 為節點總數。
示例 1:
輸入: 1->2->3->4->5->null
輸出: 1->3->5->2->4->null
1.奇偶分離
class solution:
def oddevenlist(self, head: listnode) -> listnode:
if not head or not head.next :return head
if head.next and not head.next.next:return head
odd_keep=odd=head
even_keep=even=head.next
cnt=3
head=head.next.next
while head:
if cnt%2!=0:
odd.next=head
odd=odd.next
else:
even.next=head
even=even.next
head=head.next
cnt+=1
even.next=none
odd.next=even_keep
return odd_keep
class solution:
def oddevenlist(self, head: listnode) -> listnode:
if not head:return head
odd=head
even_keep=even=head.next
while even and even.next:
odd.next=odd.next.next
even.next=even.next.next
even,odd=even.next,odd.next
odd.next=even_keep
return head
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 null ...
328 奇偶鍊錶
題目描述 給定乙個單鏈表,把所有的奇數節點和偶數節點分別排在一起。請注意,這裡的奇數節點和偶數節點指的是節點編號的奇偶性,而不是節點的值的奇偶性。請嘗試使用原地演算法完成。你的演算法的空間複雜度應為 o 1 時間複雜度應為 o nodes nodes 為節點總數。示例 1 輸入 1 2 3 4 5 ...