0

我正在尝试编写一个程序,其中所有奇数链表节点都被推到链表的开头,然后是奇数节点。我所拥有的如下:

def oddEvenList(self, head: ListNode) -> ListNode:
    sentinel = node1 = head
    node2 = second = head.next
    while node1.next:
        node1.next, node1 = node1.next.next, node1.next
    while node2.next:
        node2.next, node2 = node2.next.next, node2.next

    node1.next = second

    return head

链表类的定义如下:

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

我的输入是:

[1, 2, 3, 4, 5]

我的输出是:

[1, 3, 5, 2]

输出应该是:

[1, 3, 5, 2, 4]

即使我指定second为第二个列表的头部,我似乎仍然没有将第二个列表的头部添加到第一个列表中。我在这里做任务:

node2 = second = head.next

我究竟做错了什么?

4

0 回答 0