Odd Even Linked List

https://leetcode.com/explore/featured/card/may-leetcoding-challenge/536/week-3-may-15th-may-21st/3331/

只需要注意这一步

if not even:
    curr = None

如果不判断这一步,会报错空指针因为 当最后两个数是 1 --> None 时 curr.next 就已经为空。

class Solution:
    def oddEvenList(self, head: ListNode) -> ListNode:
        oddDummy = ListNode(-1)
        odd = oddDummy
        evenDummy = ListNode(-1)
        even = evenDummy
        curr = head
        while curr != None:
            odd.next = curr
            odd = odd.next
            even.next = curr.next
            even = even.next
            if not even:
                curr = None
            else:
                curr = curr.next.next
        odd.next = evenDummy.next
        return oddDummy.next

Last updated

Was this helpful?