leetcode-python-奇偶链表

若链表长度小于3,则不用重排

否则单独提取出奇偶链表,最后奇链表.next为偶链表head

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
def getListLength(l):
    length = 0
    while l:
        length +=1
        l = l.next
        # length +=1
    return length
    
class Solution:
    def oddEvenList(self, head: ListNode) -> ListNode:
        if not head or not head.next or not head.next.next:
            return head
        odd = head
        even = head.next
        evenHead = even
        while even and even.next:#若接下俩两个结点存在
            odd.next = odd.next.next#奇数链表相连
            if odd.next: 
                odd = odd.next
                even.next = even.next.next
                even = even.next
        odd.next = evenHead
        return head

 

posted @ 2021-06-15 17:43  泊鸽  阅读(57)  评论(0)    收藏  举报