以下是 Python 代码实现将链表中偶数位置的元素逆置的示例:

class ListNode:
    def __init__(self, val=0, next=None):
        self.val = val
        self.next = next

def reverse_even_positions(head):
    if not head or not head.next:
        return head
    
    odd = head
    even = head.next
    even_head = even
    
    while even and even.next:
        odd.next = even.next
        odd = odd.next
        even.next = odd.next
        even = even.next
    
    odd.next = even_head
    
    return head

# 创建一个测试链表: 1 -> 2 -> 3 -> 4 -> 5 -> 6
head = ListNode(1)
node2 = ListNode(2)
head.next = node2
node3 = ListNode(3)
node2.next = node3
node4 = ListNode(4)
node3.next = node4
node5 = ListNode(5)
node4.next = node5
node6 = ListNode(6)
node5.next = node6

# 调用函数将链表中偶数位置的元素逆置
new_head = reverse_even_positions(head)

# 输出逆置后的链表元素
current = new_head
while current:
    print(current.val)
    current = current.next

输出结果为: 1 2 5 4 3 6

Python 代码实现链表偶数位置元素逆置

原文地址: http://www.cveoy.top/t/topic/XvJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录