Leetcode # 328. Odd Even Linked List

https://leetcode.com/problems/odd-even-linked-list/

Solution

Time Complexity: O(len(linked_list))
Space Complexity: O(1)
(The input and output generally do not count towards the space complexity.)

注意:
odd_end.next = odd_end = cur
 odd_end = odd_end.next = cur

A = B = C
A = C
B = C
⇒ odd_end = odd_end.next = cur
s.t. odd_end.next = odd_end

 

class Solution:
  def oddEvenList(self, head: Optional[ListNode]) -> Optional[ListNode]:
    odd_root, even_root = ListNode(), ListNode()
    odd_end, even_end = odd_root, even_root
    cur = head
    while cur:
      odd_end.next = odd_end = cur
      cur = cur.next
      if not cur: break
      even_end.next = even_end = cur
      cur = cur.next
    odd_end.next, even_end.next = even_root.next, None
    return odd_root.next

 

Last Updated on 2023/08/16 by A1go

目錄

目錄
Bitnami